JP2019012922A - 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム - Google Patents

画像処理装置、画像処理方法、及びそれらを実装した画像表示システム Download PDF

Info

Publication number
JP2019012922A
JP2019012922A JP2017128475A JP2017128475A JP2019012922A JP 2019012922 A JP2019012922 A JP 2019012922A JP 2017128475 A JP2017128475 A JP 2017128475A JP 2017128475 A JP2017128475 A JP 2017128475A JP 2019012922 A JP2019012922 A JP 2019012922A
Authority
JP
Japan
Prior art keywords
pixel
data
error value
image processing
error
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.)
Pending
Application number
JP2017128475A
Other languages
English (en)
Inventor
匡史 尾崎
Tadashi Ozaki
匡史 尾崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Display Inc
Original Assignee
Japan Display Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Display Inc filed Critical Japan Display Inc
Priority to JP2017128475A priority Critical patent/JP2019012922A/ja
Priority to US16/010,893 priority patent/US10777117B2/en
Publication of JP2019012922A publication Critical patent/JP2019012922A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2059Display of intermediate tones using error diffusion
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G3/2096Details of the interface to the display terminal specific for a flat panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0232Special driving of display border areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0247Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/103Detection of image changes, e.g. determination of an index representative of the image change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/10Dealing with defective pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/06Colour space transformation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/16Calculation or use of calculated indices related to luminance levels in display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3607Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals for displaying colours or for displaying grey scales with a specific pixel layout, e.g. using sub-pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】画質低下を軽減できる画像処理装置、画像処理方法、及びそれらを実装した画像表示システムを提供することを目的の一つとする。【解決手段】複数の画素を有する表示面を含む画像表示装置に入力される入力データに対して表示面を複数の領域に分割してなる複数の誤差拡散ブロックの各々に対して誤差拡散処理を施す画像処理装置であって、画素に対応する誤差値を記憶する記憶部と、複数の画素のうち一の画素を囲む画素のうちの少なくとも一つの画素に対応する誤差値及び当該誤差値に対応する画素における入力データの階調に応じた係数に基づいて、当該画素に対応する画素データを算出する画素データ算出部と、算出された画素データを量子化して量子化データを算出する量子化データ算出部と、算出された画素データと当該画素データの量子化によって得られた量子化データとの誤差値を当該画素に対応させて記憶部に記憶させる誤差値算出部とを備える。【選択図】図5

Description

本発明は、画像処理装置、画像処理方法、及びそれらを実装した画像表示システムに関する。
例えば、携帯電話機や携帯情報端末といった携帯電子機器、あるいは、パーソナルコンピュータやテレビジョン受像機等の表示部には、モノクロ表示やカラー表示の液晶表示パネル、無機材料若しくは有機材料のエレクトロルミネッセンスを用いたエレクトロルミネッセンス表示パネル、プラズマ表示パネル等が用いられている。
表示部の画素の階調表示能力が低い場合、換言すれば、画素の階調数が少ない場合には、画像のグラデーション部分に等高線状の輪郭が生じ、画質が低下する。このような場合に、誤差拡散法を用いることによって画質が向上することが知られている。
特許文献1には、例えば、表示面を複数の区画(誤差拡散ブロック)に区切り、それぞれの区画内でのみ誤差拡散を行う技術が開示されている。この技術によれば、誤差拡散の変化の伝搬範囲が限定されるので、画面のちらつき感を低減することが可能になる。
特開2012−145821号公報
誤差拡散法は、計算の負荷が軽く実用的な手法である。しかしながら、特許文献1に記載された技術によれば、誤差拡散ブロックの境界が目立つ場合があり、画質が低下するという問題がある。このような傾向は、特に階調変化が少ない部分で顕著となる。
従って、本発明の目的は、画質の低下を軽減することができる画像処理装置、画像処理方法、及びそれらを実装した画像表示システムを提供することを目的の一つとする。
複数の画素を有する表示面を含む画像表示装置に入力される入力データに対して、表示面を複数の領域に分割してなる複数の誤差拡散ブロックの各々に対して誤差拡散処理を施す画像処理装置であって、画素に対応する誤差値を記憶する記憶部と、前記複数の画素のうち一の画素を囲む画素のうちの少なくとも一つの画素に対応する誤差値及び当該誤差値に対応する画素における入力データの階調に応じた係数に基づいて、当該画素に対応する画素データを算出する画素データ算出部と、画素データ算出部によって算出された画素データを量子化して量子化データを算出する量子化データ算出部と、画素データ算出部によって算出された画素データと、当該画素データの量子化によって得られた量子化データとの誤差値を、当該画素に対応させて記憶部に記憶させる誤差値算出部とを備える。
複数の画素を有する表示面を含む画像表示装置に入力される入力データに対して、表示面を複数の領域に分割してなる複数の誤差拡散ブロックの各々に対して誤差拡散処理を施す画像処理方法であって、画素に応じて誤差値を記憶部に記憶させ、前記複数の画素のうち一の画素を囲む画素のうちの少なくとも一つの画素に対応する誤差値及び当該誤差値に対応する画素における入力データの階調に応じた係数に基づいて、当該画素に対応する画素データを算出し、当該画素データを量子化してなる量子化データを算出し、当該画素データと当該画素データを量子化してなる量子化データとに基づいて誤差値を算出し、誤差値を当該画素に対応させて記憶部に記憶する。
画像表示システムであって、上記画像処理装置と、複数の画素を有する表示面を含む画像表示装置とを有し、画像処理装置によって誤差拡散処理されたデータに基づいて画素の階調が制御される。
本発明の一実施形態による画像表示システムの概念図である。 (A)は、図1に示した表示面に設けられる誤差拡散ブロックを示す図であり、(B)は、(A)に示す領域Aの拡大図である。 図1に示した誤差拡散処理部の機能ブロックを示す略ブロック図である。 図1に示した誤差拡散処理部が実行する処理を示すフロー図である。 図4に示したvd1_mod(n,m)算出処理の詳細を示すフロー図である。 図5に示した各場合におけるvd1_mod(n,m)の算出方法を説明する図である。 図3に示した第1の画素データ算出部30の機能ブロックの例を示す略ブロック図である。 入力データの階調に応じたvd1_mod(n,m)算出処理の詳細を示すフロー図である。 図8に示した入力データの階調に応じたvd1_mod(n,m)の算出方法を説明する図である。 図4に示したLV1(n,m),vd1_out(n,m)算出処理及びLV2(n,m),vd2_out(n,m)算出処理の詳細を示すフロー図である。 図4に示したErr2’(n,m)算出処理の詳細を示すフロー図である。 図3及び図7に示した第1の画素データ算出部30の機能ブロックの別の例を示す略ブロック図である。 図8に示した、入力データの階調に応じたvd1_mod(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。 図13に示した、入力データの階調に応じたvd1_mod(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。 図13に示した、入力データの階調に応じたvd1_mod(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。 図13に示した、入力データの階調に応じたvd1_mod(n,m)の算出方法を説明する図である。 図3に示した第1の量子化データ算出部32の機能ブロックを示す略ブロック図である。 図4に示したLV1(n,m),vd1_out(n,m)算出処理及びLV2(n,m),vd2_out(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。 図18に示したLV1(n,m),vd1_out(n,m)算出処理及びLV2(n,m),vd2_out(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。
以下、本発明の実施形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施の形態の記載内容に限定して解釈されるものではない。また、図面は説明をより明確にするため、実際の態様に比べ、各部の構成等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。さらに、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号(または数字の後にa、bなどを付した符号)を付して、詳細な説明を適宜省略することがある。なお、各要素に対する「第1」、「第2」と付記された文字は、各要素を区別するために用いられる便宜的な標識であり、特段の説明がない限りそれ以上の意味を有さない。
(第1実施形態)
本実施形態では、本発明の一実施形態に係る像処理装置、画像処理装置の画像処理方法、及びそれらを実装した画像表示装置の構成を説明する。
図1は、本実施形態による画像表示システム1の概念図である。同図に示すように、画像表示システム1は、マトリクス状に配置された複数の画素PXを含む表示面21を有する表示部20と、図示しない上位装置から供給される入力データvd_inに所定の階調変換処理を施すことによって出力データvd_outを生成し、表示部20に供給する階調変換部10とを備えて構成される。
表示部20は、例えばモノクロ表示の液晶表示パネルにより構成される。ただし、表示部20の構成や方式は特に限定されない。例えば、液晶表示パネル、エレクトロルミネッセンス表示パネル、プラズマ表示パネルといった周知の表示装置を表示部20として用いることができるし、電気的に書き換え可能な電子ペーパーといった表示媒体を表示部20として用いることもできる。また、表示部20は、モノクロ表示であってもよいし、カラー表示であってもよい。以下では、説明を簡単にするため、モノクロ表示の表示部20を用いる(したがって、1フレーム中に1つの画素PXについて入力される入力データvd_inは1つだけとなる)ことを前提として説明を続ける。
表示部20の表示面21においては、水平方向にM個、垂直方向にN個の合計M×N個の画素PXが、2次元マトリクス状に配列されている。本明細書においてX(n,m)と記載する場合があるが(Xは任意の構成。nは1〜Nの整数、mは1〜Mの整数)、これは、画素PXごとに設けられる複数の構成Xのうちn行目かつm列目に位置する画素PXに対応する構成Xであることを示している。
表示部20が透過型の表示パネルである場合、表示部20は、階調変換部10から供給される出力データvd_outの値に基づいて各画素PXの光透過率を制御するよう構成される。この制御により、図示しない光源装置からの光の透過量が制御され、その結果として表示部20に画像が表示される。表示部20が反射型の表示パネルである場合には、表示部20は、階調変換部10から供給される出力データvd_outの値に基づいて各画素PXの光反射率を制御するよう構成される。この制御により外光の反射量が制御され、その結果として表示部20に画像が表示される。
階調変換部10は、誤差拡散法による階調処理を行う誤差拡散処理部11を含んでおり、この誤差拡散処理部11を用いて、入力データvd_in(n,m)を出力データvd_out(n,m)に変換するよう構成される。変換によって得られた出力データvd_out(n,m)は、表示部20に供給される。変換処理の詳細については、後ほど図3〜図11を参照しながら詳しく説明する。
また、階調変換部10は、表示面21を複数の領域に分割してなる複数の誤差拡散ブロックBL(図2(A)および図2(B)参照)を記憶している。誤差拡散ブロックBLは仮想的な領域であり、誤差拡散法による階調処理を行う際の誤差の拡散範囲を規定するものである。ただし、本実施形態による誤差拡散処理部11は、必ずしも誤差拡散ブロックBL内に限定された誤差拡散を行うわけではない。この点についても、後ほど図3〜図11を参照しながら詳しく説明する。
図2(A)は、図1に示した表示面21に設けられる誤差拡散ブロックBLを示す図であり、図2(B)は、図2(A)に示す領域Aの拡大図である。なお、図2(A)では、画素PXの図示を省略している。
本発明の一実施形態による誤差拡散ブロックBLは、図2(A)に示すようにそれぞれ同じサイズの矩形の形状を有しており、境界Bで隣接する他の誤差拡散ブロックBLと区切られている。図2(A)には、表示面21を6×6=36個の誤差拡散ブロックBLに分割する例を示しているが、誤差拡散ブロックBLに分割数は、図2(A)の例に限定されない。本発明の一実施形態においては、誤差拡散ブロックBLの個数は限定されない。また、図2(B)には、1つの誤差拡散ブロックBLが16×9=144個の画素PXにより構成される例を示しているが、画素PXの個数は、図2(B)の例に限定されない。本発明の一実施形態において、各誤差拡散ブロックBLを構成する画素PXの個数は限定されない。
階調変換部10には、1行目から順(nが1ずつ増加する順。上から下)に、入力データvd_in(n,m)が供給される。各行内においては、図示した矢印ORに沿う順(mが1ずつ増加する順、左から右)に入力データvd_in(n,m)が供給される。階調変換部10内の誤差拡散処理部11は、こうして順次供給される入力データvd_in(n,m)を、1画素PXずつ出力データvd_out(n,m)に変換し、表示部20に供給するよう構成される。図示した矢印ORに沿う順は、スキャンする順と言い換えてもよい。すなわち、図示した矢印ORに沿う順は、図2(B)に示した上面視において左から右へのスキャンとなる。なお、スキャンする方向は、図2(B)に示した上面視において左から右へのスキャンに限定されない。例えば、図2(B)に示した上面視において右から左へのスキャンでもよい。その場合、以降の説明において、右は左、右下は左下、左は右、左下は右下、などのように、上面視において上下方向に対して鏡面反転した位置、方向に読み替えればよい。
図3は、誤差拡散処理部11の機能ブロックを示す略ブロック図である。同図に示すように、誤差拡散処理部11は、第1の画素データ算出部30、第2の画素データ算出部31、第1の量子化データ算出部32、第1の出力画素データ算出部33、第2の量子化データ算出部34、第2の出力画素データ算出部35、第1の誤差値算出部36、第2の誤差値算出部37、制限誤差値算出部38、判定部39、修正誤差値算出部40、及び記憶部41を有して構成される。
記憶部41は、画素PXごとに、第1の誤差値Err1(n,m)と、修正誤差値Err2’(n,m)とを記憶するよう構成される。これらは、各画素PXについて順次階調処理を行っていく過程で、それぞれ第1の誤差値算出部36及び修正誤差値算出部40により算出されるものである。
第1の画素データ算出部30は、入力データvd_in(n,m)の階調に応じて、入力データvd_in(n,m)と、この入力データvd_in(n,m)に対応する画素PX(n,m)(注目画素)と所定の方向に隣接する所定数の画素のうち画素PX(n,m)と同じ誤差拡散ブロックBLに属するものそれぞれについて記憶部41に記憶される第1の誤差値Err1とに基づいて第1の画素データvd1_mod(n,m)を算出する。詳細は図5及び図6を参照しながら後述することとしてここでは簡単に説明すると、第1の画素データ算出部30は、第1の誤差値Err1を参照する範囲を「画素PX(n,m)と同じ誤差拡散ブロックBLに属するもの」に限定することにより、誤差の拡散範囲を誤差拡散ブロックBL内に限定している。したがって、第1の画素データvd1_mod(n,m)は、誤差の拡散範囲を誤差拡散ブロックBL内に限定することによって算出されたものとなる。ここで、所定の方向に隣接する所定数の画素とは、注目画素を囲う画素のことを指す。例えば、上面視において、注目画素の左下、下、右下、右隣、右上、上、左上、左隣が、所定の方向に隣接する所定数の画素に相当する。
第2の画素データ算出部31は、入力データvd_in(n,m)の階調に応じて、入力データvd_in(n,m)と、画素PX(n,m)と上記所定の方向に隣接する所定数の画素それぞれについて記憶部41に記憶される修正誤差値Err2’とに基づいて第2の画素データvd2_mod(n,m)を算出する。第2の画素データ算出部31は、第1の画素データ算出部30とは異なり、修正誤差値Err2’を参照する範囲を「画素PX(n,m)と同じ誤差拡散ブロックBLに属するもの」に限定しない。したがって、第2の画素データvd2_mod(n,m)は、誤差の拡散範囲を誤差拡散ブロックBL内に限定しないで算出されたものとなる。
第1の量子化データ算出部32は、第1の画素データ算出部30により算出された第1の画素データvd1_mod(n,m)を量子化してなる第1の量子化データLV1(n,m)を算出する。また、第1の出力画素データ算出部33は、第1の量子化データLV1(n,m)を3ビットデータに変換することにより、第1の出力画素データvd1_out(n,m)を算出する。これらの処理の詳細については、後ほど図10を参照しながら説明する。
第2の量子化データ算出部34は、第2の画素データ算出部31により算出された第2の画素データvd2_mod(n,m)を量子化してなる第2の量子化データLV2(n,m)を算出する。また、第2の出力画素データ算出部35は、第2の量子化データLV2(n,m)を3ビットデータに変換することにより、第2の出力画素データvd2_out(n,m)を算出する。これらの処理の詳細についても、後ほど図8を参照しながら説明する。第2の出力画素データ算出部により算出された第2の出力画素データvd2_out(n,m)は、図3にも示すように、階調変換部10の出力データvd_out(n,m)となる。
第1の誤差値算出部36は、第1の画素データvd1_mod(n,m)と第1の量子化データLV1(n,m)との差分に基づいて第1の誤差値Err1(n,m)を算出する。具体的には、次の式(1)に示すように、第1の画素データvd1_mod(n,m)から第1の量子化データLV1(n,m)を減じてなる値を、第1の誤差値Err1(n,m)として算出する。
Figure 2019012922
第1の誤差値算出部36によって算出された第1の誤差値Err1(n,m)は記憶部41に供給され、誤差拡散処理部11が同一フレームにかかる処理を実行している間、画素PX(n,m)に対応する第1の誤差値Err1として記憶部41内に記憶される。
第2の誤差値算出部37は、第2の画素データvd2_mod(n,m)と第2の量子化データLV2(n,m)との差分に基づいて第2の誤差値Err2(n,m)を算出する。具体的には、次の式(2)に示すように、第2の画素データvd2_mod(n,m)から第2の量子化データLV2(n,m)を減じてなる値を、第2の誤差値Err2(n,m)として算出する。
Figure 2019012922
制限誤差値算出部38は、第1の量子化データLV1(n,m)及び第2の量子化データLV2(n,m)の値に応じて第1の誤差値Err1(n.m)を制限してなる制限誤差値Err1_muxを算出する。制限誤差値Err1_muxは、後に修正誤差値算出部40が修正誤差値Err2’(n,m)を算出する際に使用される。制限誤差値算出部38の処理の詳細については、後ほど図11を参照しながら説明する。
判定部39は、画素PX(n,m)が複数の誤差拡散ブロックBLの境界から所定の範囲内にあるか否かを判定する。具体的には、図2(B)に示した水平方向距離H及び垂直方向距離Vの閾値判定を行うことにより、上記判定を行う。判定部39の処理の詳細についても、後ほど図11を参照しながら説明する。
修正誤差値算出部40は、判定部39の判定結果に応じて、第1の誤差値Err1(n,m)に近づける方向に第2の誤差値Err2(n,m)を修正することにより、画素PX(n,m)の修正誤差値Err2’(n,m)を算出する。より具体的に説明すると、修正誤差値算出部40は、判定部39の判定結果により画素PX(n,m)が複数の誤差拡散ブロックBLの境界から所定の範囲内にあることが示される場合に、第1の誤差値Err1(n,m)に近づける方向に第2の誤差値Err2(n,m)を修正することにより、画素PX(n,m)の修正誤差値Err2’(n,m)を算出する。一方、判定部の判定結果により画素PX(n,m)が複数の誤差拡散ブロックBLの境界から所定の範囲内にないことが示される場合には、修正誤差値算出部40は、制限誤差値算出部38により算出された制限誤差値Err1_muxを、画素PX(n,m)の修正誤差値Err2’(n,m)とする。
修正誤差値算出部40によって算出された修正誤差値Err2’(n,m)は記憶部41に供給され、誤差拡散処理部11が同一フレームにかかる処理を実行している間、画素PX(n,m)に対応する修正誤差値Err2’として記憶部41内に記憶される。
第1の誤差値Err1に基づいて算出される第1の画素データvd1_mod(n,m)から、出力データvd_out(n,m)が算出されることになる。この第1の誤差値Err1は、境界Bを超えたときに不連続に変化する。これが、上述したように、誤差拡散ブロックの境界が目立つ原因となる。本実施形態では、修正誤差値Err2’に基づいて算出される第2の画素データvd2_mod(n,m)から、出力データvd_out(n,m)が生成される。そして、修正誤差値Err2’は、境界Bも含めて連続的に変化する。したがって、本実施形態によれば、誤差拡散ブロックBLの境界Bでの目立ちが抑制されることとなる。
以下、図4に示したフロー図を参照しながら、誤差拡散処理部11内の各部が行う処理について、より詳しく説明する。
図4には、1フレーム分の処理を示している。同図に示すように、新たなフレームの処理が開始される際、まず記憶部41の記憶内容がリセットされる(ステップS1)。その後、入力データvd_in(n,m)が、n=1からn=Nまでnを1ずつインクリメントしつつ、さらに各nにおいてm=1からm=Mまでmを1ずつインクリメントしつつ、図示しない上位装置から供給される。誤差拡散処理部11は、こうして入力データvd_in(n,m)が供給される都度、以下に説明するステップS4〜S11の処理を繰り返す(図4のステップS2,S3)。
入力データvd_in(n,m)が供給されると、まず第1の画素データ算出部30により、第1の画素データvd1_mod(n,m)を算出するための処理(vd1_mod(n,m)算出処理)が実行される(ステップS4)。
図5は、vd1_mod(n,m)算出処理の詳細を示すフロー図である。同図に示すように、第1の画素データ算出部30はまず、画素PX(n,m)と境界との関係を判定する処理を行う(ステップS20)。そして、画素PX(n,m)が水平方向と垂直方向の両方について境界に位置する場合と、水平方向のみについて境界に位置する場合と、垂直方向のみについて境界に位置する場合と、水平方向と垂直方向のいずれについても境界に位置しない場合とで、異なる数式により第1の画素データvd1_mod(n,m)の算出を行う。なお、図5の「水平方向のみの場合」のvd1_mod(n,m)の算出方法は、「両方向の場合」の算出方法と同じ数式であっても良い。
図6(A)から図6(D)は、図5に示した各場合における第1の画素データvd1_mod(n,m)の算出方法を説明する図である。まず図6(A)は、画素PX(n,m)が水平方向と垂直方向のいずれについても境界に位置しない場合を示している。この場合、第1の画素データ算出部30は、画素PX(n,m)と左上方向に隣接する画素PX(n−1,m−1)と、画素PX(n,m)と上方向に隣接する画素PX(n−1,m)と、画素PX(n,m)と右上方向に隣接する画素PX(n−1,m+1)と、画素PX(n,m)と左方向に隣接する画素PX(n,m−1)との4つの画素PXのそれぞれについて、記憶部41から第1の誤差値Err1を読み出す。そして、次の式(3)に示すように、読み出した4つの第1の誤差値Err1にそれぞれ係数a〜dを乗算したものを加算し、さらに、その結果に入力データvd_in(n,m)を加算することにより、第1の画素データvd1_mod(n,m)を算出する。
Figure 2019012922
ここで、式(3)中の定数a,b,c,dは拡散誤差の規格化係数であり、a+b+c+d=1となるように予め定められる。それぞれの具体的な値の選択にはいくつかの方式がある。例えば、Floyd−Steinberg式では、a=1/16、b=5/16、c=3/16、d=7/16となる。また、SierraFilterLite式では、a=0、b=1/4、c=1/4、d=1/2となる。いずれの方式を採用するかについては、画像表示システム1に対して要求される品質などを考慮して決定すればよい。
図6(B)は、画素PX(n,m)が水平方向と垂直方向の両方について境界に位置する場合を示している。上述したように、第1の画素データ算出部30は、第1の誤差値Err1を参照する範囲を「画素PX(n,m)と同じ誤差拡散ブロックBLに属するもの」に限定するものである。したがって、この場合には、図6(A)の例で参照した4つの第1の誤差値Err1をいずれも参照せずに、第1の画素データvd1_mod(n,m)を算出する。具体的には、次の式(4)に示すように、入力データvd_in(n,m)をそのまま第1の画素データvd1_mod(n,m)とする。
Figure 2019012922
図6(C)は、画素PX(n,m)が垂直方向のみについて境界に位置する場合を示している。この場合、第1の画素データ算出部30は、図6(A)の例で参照した4つの第1の誤差値Err1のうち、画素PX(n,m)と同じ誤差拡散ブロックBLに属しない2つの画素PX(n−1,m−1),PX(n,m−1)に対応する第1の誤差値Err1(n−1,m−1),Err1(n,m−1)を参照せずに、第1の画素データvd1_mod(n,m)を算出する。具体的には、次の式(5)に示すように、画素PX(n,m)と同じ誤差拡散ブロックBLに属する2つの画素PX(n−1,m),PX(n−1,m+1)に対応する第1の誤差値Err1(n−1,m),Err1(n−1,m+1)にそれぞれ上述した係数b,cを乗算したものを加算し、さらに、その結果に入力データvd_in(n,m)を加算することにより、第1の画素データvd1_mod(n,m)を算出する。
Figure 2019012922
図6(D)は、画素PX(n,m)が水平方向のみについて境界に位置する場合を示している。この場合、第1の画素データ算出部30は、図6(A)の例で参照した4つの第1の誤差値Err1のうち、画素PX(n,m)と同じ誤差拡散ブロックBLに属しない3つの画素PX(n−1,m−1),PX(n−1,m),PX(n−1,m+1)に対応する第1の誤差値Err1(n−1,m−1),Err1(n−1,m),Err1(n−1,m+1)を参照せずに、第1の画素データvd1_mod(n,m)を算出する。具体的には、次の式(6)に示すように、画素PX(n,m)と同じ誤差拡散ブロックBLに属する画素PX(n,m−1)に対応する第1の誤差値Err1(n,m−1)に上述した係数dを乗算したものに入力データvd_in(n,m)を加算することにより、第1の画素データvd1_mod(n,m)を算出する。
Figure 2019012922
本発明の一実施形態においては、入力データvd_in(n,m)の階調に応じて、第1の画素データ算出部30により算出される第1の画素データvd1_mod(n,m)を算出する。したがって、入力データvd_in(n,m)の階調に応じて、第1の誤差値Err1に乗算する係数が変わる。
図7は、図3に示した第1の画素データ算出部30の機能ブロックの例を示す略ブロック図である。第1の画素データ算出部30は、第1の境界判定回路103、第2の境界判定回路104、ラッチ回路107、選択信号発生回路108、選択回路109、及びデータ合成回路110を有する。第1の画素データ算出部30は、第1の誤差値Err1、入力データvd_in(n,m)、及び、(n,m)が入力される。(n,m)は各画素の座標を示すデータを含む。また、第1の画素データ算出部30は、第1の画素データvd1_mod(n,m)を出力する。入力データvd_in(n,m)の階調が25階調未満の場合、第1の境界判定回路103が画素PX(n,m)と境界との関係を判定する処理を行う。入力データvd_in(n,m)の階調が25階調以上の場合、第2の境界判定回路104が、画素PX(n,m)と境界との関係を判定する処理を行う。なお、(n,m)は各機能ブロックに入力され、各データと各データの座標とを紐付けする役割を有していてもよい。
第1の画素データvd1_mod(n,m)の算出の、回路の動作を説明する。第1の画素データ算出部30に、第1の誤差値Err1、入力データvd_in(n,m)、及び、(n,m)が入力される。第1の誤差値Err1は、第1の境界判定回路103、及び第2の境界判定回路104に入力される。第1の境界判定回路103、及び第2の境界判定回路104は、画素PX(n,m)と境界との関係を判定する処理を行う。
具体的には、第1の境界判定回路103、及び第2の境界判定回路104において、画素PX(n,m)と境界との関係を判定されて、注目画素PX(n,m)を囲む、それぞれの方向の画素に対する第1の誤差値Err1に、拡散誤差の規格化係数が乗算される。
入力データvd_in(n,m)はラッチ回路107に入力される。ラッチ回路107は、入力データvd_in(n,m)を格納し、処理する入力データvd_in(n,m)ごとに、当該入力データvd_in(n,m)を出力する。ラッチ回路から出力されたデータ129は、選択信号発生回路108に入力される。選択信号発生回路108は、ラッチ回路から出力されたデータ129の階調が、25階調未満か否かを判断し、選択信号130を出力する。
次に、拡散誤差の規格化係数が乗算されたデータ127、及び、選択信号130が、選択回路109に入力される。選択回路109は、選択信号130に応じて、25階調未満の拡散誤差の規格化係数が乗算されたデータ、または、25階調以上の拡散誤差の係数が乗算されたデータのいずれかを選択し、出力する。例えば、ラッチ回路から出力されたデータ129の階調が25階調未満の場合、選択信号130は25階調未満の拡散誤差の規格化係数が乗算されたデータを選択する信号であり、選択回路109は25階調未満の拡散誤差の規格化係数が乗算されたデータを出力する。
続いて、選択回路109から出力されたデータ128及びラッチ回路から出力されたデータ129がデータ合成回路110に入力される。データ合成回路110は、選択回路109から出力されたデータ128とラッチ回路から出力されたデータ129とを加算し、出力する。合成回路110から出力されたデータが、第1の画素データvd1_mod(n,m)である。第1の画素データ算出部30は、入力される第1の誤差値Err1が複数の場合、それぞれの誤差値Err1に応じて拡散誤差の規格化係数が乗算されたデータを加算した後に、さらに、ラッチ回路から出力されたデータ129を加算してもよい。詳細は、以下の図8と図9で説明する。
図8は、入力データvd_in(n,m)の階調に応じたvd1_mod(n,m)算出処理の詳細を示すフロー図である。同図に示すように、第1の画素データ算出部30は、入力データvd_in(n,m)の階調が、25階調未満の場合には、ステップS22にしたがって、第1の境界判定回路103により画素PX(n,m)と境界との関係を判定する処理を行う。第1の画素データ算出部30は、入力データvd_in(n,m)の階調が、25階調以上の場合には、ステップS23にしたがって、第2の境界判定回路104により画素PX(n,m)と境界との関係を判定する処理を行う。そして、それぞれのステップにおいて、画素PX(n,m)が水平方向と垂直方向の両方について境界に位置する場合と、水平方向のみについて境界に位置する場合と、垂直方向のみについて境界に位置する場合と、水平方向と垂直方向のいずれについても境界に位置しない場合とで、異なる数式により第1の画素データvd1_mod(n,m)の算出を行う。なお、図8の「水平方向のみの場合」のvd1_mod(n,m)の算出方法は、「両方向の場合」の算出方法と同じ数式であっても良い。
ここでは、入力データvd_in(n,m)の階調が、25階調以上の場合、式(3)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/4、cは1/4、dは1/2とする。図9は、図8に示したvd1_mod(n,m)算出処理の具体的な例を示す図である。図9(A)は、入力データvd_in(n,m)の階調が、25階調以上の場合のvd1_mod(n,m)算出処理の具体的な例を示している。図9(A)に示すように、上面視において、注目画素PX(n,m)に対して、水平方向の画素に乗算される拡散誤差の規格化係数dは1/2である。同様に、注目画素PX(n,m)に対して、右下方向の画素に乗算される拡散誤差の規格化係数aは0である。同様に、注目画素PX(n,m)に対して、垂直方向の画素に乗算される拡散誤差の規格化係数bは1/4である。同様に、注目画素PX(n,m)に対して、左下方向の画素に乗算される拡散誤差の規格化係数cは1/4である。
画素PX(n,m)が水平方向と垂直方向の両方について誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は前述した式(4)となる。
画素PX(n,m)が垂直方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は次の式(7)となる。
Figure 2019012922
画素PX(n,m)が水平方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は式(8)となる。
Figure 2019012922
画素PX(n,m)が水平方向と垂直方向のいずれについても誤差拡散ブロックBLのブロック境界に位置しない場合、vd1_mod(n,m)は式(9)となる。
Figure 2019012922
一方、入力データvd_in(n,m)の階調が、25階調未満の場合、式(3)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/2、cは0、dは1/2とする。図9は、図8に示したvd1_mod(n,m)算出処理の具体的な例を示す図である。図9(B)は、入力データvd_in(n,m)の階調が、25階調未満の場合のvd1_mod(n,m)算出処理の具体的な例を示している。図9(B)に示すように、上面視において、注目画素PX(n,m)に対して、水平方向の画素に乗算される拡散誤差の規格化係数dは1/2である。同様に、注目画素PX(n,m)に対して、右下方向の画素に乗算される拡散誤差の規格化係数aは0である。同様に、注目画素PX(n,m)に対して、垂直方向の画素に乗算される拡散誤差の規格化係数bは1/2である。同様に、注目画素PX(n,m)に対して、左下方向の画素に乗算される拡散誤差の規格化係数cは0である。
画素PX(n,m)が水平方向と垂直方向の両方について誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は前述した式(4)となる。
画素PX(n,m)が垂直方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は次の式(10)となる。
Figure 2019012922
画素PX(n,m)が水平方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は式(11)となる。
Figure 2019012922
画素PX(n,m)が水平方向と垂直方向のいずれについても誤差拡散ブロックBLのブロック境界に位置しない場合、vd1_mod(n,m)は式(12)となる。
Figure 2019012922
図4に戻って説明する。ステップS4で第1の画素データvd1_mod(n,m)を算出した後には、第2の画素データ算出部31により第2の画素データvd2_mod(n,m)を算出する処理が行われる(ステップS5)。具体的に説明すると、第2の画素データ算出部31はまず、画素PX(n,m)と左上方向に隣接する画素PX(n−1,m−1)と、画素PX(n,m)と上方向に隣接する画素PX(n−1,m)と、画素PX(n,m)と右上方向に隣接する画素PX(n−1,m+1)と、画素PX(n,m)と左方向に隣接する画素PX(n,m−1)との4つの画素PXのそれぞれについて、記憶部41から修正誤差値Err2’を読み出す。そして、次の式(7)に示すように、読み出した4つの修正誤差値Err2’にそれぞれ上記係数a〜dを乗算したものを加算し、さらに、その結果に入力データvd_in(n,m)を加算することにより、第2の画素データvd2_mod(n,m)を算出する。式(13)は、式(3)において第1の画素データvd1_mod(n,m)を第2の画素データvd2_mod(n,m)に置き換えて、さらに、第1の誤差値Err1を修正誤差値Err2’に置き換えたものとなっている。
Figure 2019012922
また、第2の画素データ算出部31により第2の画素データvd2_mod(n,m)を算出する処理が行われる場合においても、第1の画素データ算出部30により第1の画素データvd1_mod(n,m)を算出する処理が行われる場合と同様に、25階調以上と25階調未満とで、拡散誤差の規格化係数を表す定数a、b、c、dを変える。第2の画素データ算出部31の回路の動作は、図7の説明において、第1の画素データ算出部30を第2の画素データ算出部31、第1の境界判定回路103を第2の画素データ算出部31A、第2の境界判定回路104を第2の画素データ算出部31B、第1の誤差値Err1を修正誤差値Err2’に、それぞれおきかえることで、同様に説明することができる。したがって、詳細な説明は省略する。
修正誤差値Err2’においては、入力データvd_in(n,m)の階調が25階調以上の場合、式(13)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/4、cは1/4、dは1/2とする
画素PX(n,m)が水平方向と垂直方向の両方について誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は前述した式(4)となる。
画素PX(n,m)が垂直方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は次の式(14)となる。
Figure 2019012922
画素PX(n,m)が水平方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は式(15)となる。
Figure 2019012922
画素PX(n,m)が水平方向と垂直方向のいずれについても誤差拡散ブロックBLのブロック境界に位置しない場合、vd2_mod(n,m)は式(16)となる。
Figure 2019012922
一方、入力データvd_in(n,m)の階調が、25階調未満の場合、式(13)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/2、cは0、dは1/2とする。第2の画素データ算出部31は、入力データvd_in(n,m)の階調が、25階調以上の場合には、第2の画素データ算出部31Bにより処理を行う。
画素PX(n,m)が水平方向と垂直方向の両方について誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は前述した式(4)となる。
画素PX(n,m)が垂直方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は次の式(17)となる。
Figure 2019012922
画素PX(n,m)が水平方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd2_mod(n,m)は式(18)となる。
Figure 2019012922
画素PX(n,m)が水平方向と垂直方向のいずれについても誤差拡散ブロックBLのブロック境界に位置しない場合、vd2_mod(n,m)は式(19)となる。
Figure 2019012922
図9は、vd2_mod(n,m)算出処理の具体的な例を示す図でもある。図9の説明は、vd1_mod(n,m)算出処理においてなされた説明と同様であるため、ここでの説明は省略する。vd2_mod(n,m)の算出処理において、入力データvd_in(n,m)の階調に応じて、拡散誤差の規格化係数を表す定数a、b、c、dを変えた誤差拡散法による階調処理を行うことで、誤差の拡散範囲を誤差拡散ブロックBL内に限定しない場合においても、注目画素に隣接する画素に注目画素の階調に応じた誤差を分配することができるため、画素間の階調差を少なくすることができる。すなわち、画像表示システムに表示される画像において、画質の低下を抑制することができる。
次に、第1の量子化データ算出部32による第1の量子化データLV1(n,m)の算出と、第1の出力画素データ算出部33による第1の出力画素データvd1_out(n,m)の算出とが実行される(ステップS6の「LV1(n,m),vd1_out(n,m)算出処理」)。また、第2の量子化データ算出部34による第2の量子化データLV2(n,m)の算出と、第2の出力画素データ算出部35による第2の出力画素データvd2_out(n,m)の算出とが実行される(ステップS7の「LV2(n,m),vd2_out(n,m)算出処理」)。
図10は、LV1(n,m),vd1_out(n,m)算出処理及びLV2(n,m),vd2_out(n,m)算出処理の詳細を示すフロー図である。同図に示す「i」は「1」又は「2」を表す変数である。以下では、i=1の場合の処理、すなわちLV1(n,m),vd1_out(n,m)算出処理に着目して説明するが、LV2(n,m),vd2_out(n,m)算出処理についても同様である。
まず初めに、第1の量子化データ算出部32により、第1の画素データvd1_mod(n,m)の値の範囲が判定される(ステップS22)。図10の例では、第1の画素データvd1_mod(n,m)の値が「237以上」「201以上237未満」「164以上201未満」「128以上164未満」「91以上128未満」「55以上91未満」「18以上55未満」「その他(18未満)」のいずれに属するかが判定される。なお、図10ではこのように8つの範囲を用いているが、これは、第1の出力画素データvd1_out(n,m)のビット数3で表現可能な数が「0」〜「7」の8種類であることに対応するものである。第1の出力画素データvd1_out(n,m)のビット数によっては、より細かく範囲を設定することとしてもよいし、逆により粗く範囲を設定することとしてもよい。細かく設定するほど、高精細な画像が得られることになる。
第1の量子化データ算出部32は、ステップS30の判定結果に基づいて、第1の量子化データLV1(n,m)を算出する。図10の例では、例えば第1の画素データvd1_mod(n,m)の値が「237以上」である場合、第1の量子化データ算出部32は、第1の量子化データLV1(n,m)の値を「255」と決定する。同様に、「201以上237未満」に対して「219」、「164以上201未満」に対して「182」、「128以上164未満」に対して「146」、「91以上128未満」に対して「109」、「55以上91未満」に対して「73」、「18以上55未満」に対して「36」、「その他(18未満)」に対して「0」をそれぞれ第1の量子化データLV1(n,m)の値として決定する。
こうして第1の量子化データLV1(n,m)が決定されると、次に第1の出力画素データ算出部33により、3ビットデータである第1の出力画素データvd1_out(n,m)の値が算出される。具体的に説明すると、第1の出力画素データ算出部33は、例えば第1の量子化データLV1(n,m)の値が「255」である場合、第1の出力画素データvd1_out(n,m)の値を「111b」とする。同様に、「219」に対して「110b」、「182」に対して「101b」、「146」に対して「100b」、「109」に対して「011b」、「73」に対して「010b」、「36」に対して「001b」、「0」に対して「000b」をそれぞれ第1の出力画素データvd1_out(n,m)の値として決定する。
図4に戻って説明する。ステップS6,S7で第1の量子化データLV1(n,m)、第1の出力画素データvd1_out(n,m)、第2の量子化データLV2(n,m)、第2の出力画素データvd2_out(n,m)が算出された後には、第2の出力画素データvd2_out(n,m)が階調変換部10の出力データvd_out(n,m)として出力される(ステップS8)。出力された出力データvd_out(n,m)は図1に示した表示部20に供給され、表示面21上に画像を表示する(描画する)ために使用される。
次に、第1の誤差値算出部36による第1の誤差値Err1(n,m)の算出と、第2の誤差値算出部37による第2の誤差値Err2(n,m)の算出とが行われる(ステップS9,S10)。これらの算出の具体的な方法は、上述した式(1)及び式(2)に示した通りである。第1の誤差値算出部36により算出された第1の誤差値Err1(n,m)は、上述したように、画素PX(n,m)に対応する第1の誤差値Err1として図3に示した記憶部41に格納され、画素PX(n,m)と隣接する他の画素PX(具体的には、画素PX(n,m+1)、画素PX(n+1,m−1)、PX(n+1,m)、PX(n+1,m+1)の4画素PX)について第1の画素データvd1_modを算出する際に使用される。
ここで、第1の誤差値Err1の算出の際に使用する第1の画素データvd1_mod及び第1の量子化データLV1が誤差拡散ブロックBL内に制限されたものとなっている(すなわち、図5を参照して説明したように、画素PX(n,m)と同じ誤差拡散ブロックBL内に属さない画素PXの第1の誤差値を参照せずに算出されている)ことから、第1の誤差値Err1も、誤差拡散ブロックBL内に制限されたものとなっている。これに対し、第2の誤差値Err2の算出の際に使用する第2の画素データvd2_mod及び第2の量子化データLV2が誤差拡散ブロックBL内に制限されないものとなっている(すなわち、図5を参照して説明したように、誤差拡散ブロックBLを考慮しないで算出されている)ことから、第2の誤差値Err2も、誤差拡散ブロックBL内に制限されないものとなっている。
最後に、制限誤差値算出部38、判定部39、及び修正誤差値算出部40により、修正誤差値Err2’(n,m)を算出するための処理が実行される(ステップS11の「Err2’(n,m)算出処理」)。
図11は、Err2’(n,m)算出処理の詳細を示すフロー図である。この処理では、まず制限誤差値算出部38により、第1の出力画素データvd1_out(n,m)と第2の出力画素データvd2_out(n,m)との関係が判定される(ステップS40)。なお、この処理は、第1の量子化データLV1(n,m)と第2の量子化データLV2(n,m)との関係を判定することとしても同じことである。
第1の出力画素データvd1_out(n,m)が第2の出力画素データvd2_out(n,m)より大きい場合、制限誤差値算出部38は、数値「152」を制限誤差値Err1_muxに設定する。一方、第1の出力画素データvd1_out(n,m)が第2の出力画素データvd2_out(n,m)より小さい場合、制限誤差値算出部38は、数値「−152」を制限誤差値Err1_muxに設定する。その他の場合、すなわち第1の出力画素データvd1_out(n,m)と第2の出力画素データvd2_out(n,m)とが等しい場合には、制限誤差値算出部38は、第1の誤差値Err1(n,m)を制限誤差値Err1_muxに設定する。
次に、判定部39により、図2(B)に示した水平方向距離H及び垂直方向距離Vの閾値判定が行われる。図2に示すように、水平方向距離Hは、画素PX(n,m)の属する誤差拡散ブロックBLの左端から画素PX(n,m)までの距離であり、画素数で表現される。同様に、垂直方向距離Vは、画素PX(n,m)の属する誤差拡散ブロックBLの上端から画素PX(n,m)までの距離であり、画素数で表現される。例えば、図2(B)において左下がりの斜線ハッチングで示した画素PXについての水平方向距離H及び垂直方向距離Vは、いずれも「5」となる。なお、上記説明で水平方向距離H及び垂直方向距離Vの算出の基準をそれぞれ「左端」「上端」としているのは、画像表示システム1の走査方向(入力データvd_in(n,m)の供給方向)が左から右かつ上から下であるからであり、走査方向が異なる場合には、水平方向距離H及び垂直方向距離Vの算出の基準も当然変化する。
判定部39は、水平方向距離Hの閾値として、閾値reg_bdr_h_sizeを予め記憶している。また、垂直方向距離Vの閾値として、閾値reg_bdr_v_sizeを予め記憶している。そして、これらと水平方向距離H及び垂直方向距離Vを比較することにより、上記閾値判定を行う(ステップS41,S42)。
判定部39により水平方向距離Hが閾値reg_bdr_h_sizeより小さいか、又は、垂直方向距離Vが閾値reg_bdr_v_sizeより小さいと判定された場合、すなわち、画素PX(n,m)が誤差拡散ブロックBLの上端又は左端から所定の範囲内に位置している場合、修正誤差値算出部40は、第1の誤差値Err1(n,m)に近づける方向に第2の誤差値Err2(n,m)を修正することにより、画素PX(n,m)の修正誤差値Err2’(n,m)を算出する。具体的には、次の式(20)に示すように、制限誤差値Err1_muxから第2の誤差値Err2(n,m)を減じてなる値に基づく値(より具体的には、制限誤差値Err1_muxから第2の誤差値Err2(n,m)を減じてなる値を所定数Nで除してなる値)を、第2の誤差値Err2(n,m)に加えることにより、修正誤差値Err2’(n,m)を算出する(ステップS44)。なお、所定数Nの具体的な値としては「16」が好適である。
Figure 2019012922
また、上記所定数Nの逆数の代わりに、誤差拡散ブロックの境界からの画素数の関数、または、n及びmの関数を用いてもよい。また、式(20)の第2項は、Err2(n,m)及びErr1_muxの非線形関数としても良い。
一方、判定部39により水平方向距離Hが閾値reg_bdr_h_size以上であり、かつ、垂直方向距離Vが閾値reg_bdr_v_size以上であると判定された場合、すなわち、画素PX(n,m)が誤差拡散ブロックBLの上端又は左端から所定の範囲内に位置していない場合、修正誤差値算出部40は、次の式(21)に示すように、制限誤差値Err1_muxを修正誤差値Err2’(n,m)とする(ステップS43)。
Figure 2019012922
修正誤差値算出部40により算出された修正誤差値Err2’(n,m)は、上述したように、画素PX(n,m)に対応する修正誤差値Err2’として図3に示した記憶部41に格納され、画素PX(n,m)と隣接する他の画素PX(具体的には、画素PX(n,m+1)、画素PX(n+1,m−1)、PX(n+1,m)、PX(n+1,m+1)の4画素PX)について第2の画素データvd2_modを算出する際に使用される。
図4に戻って説明する。ここまで説明した処理により、1つの入力データvd_in(n,m)についての処理が完結する。すべての入力データvd_in(n,m)についての処理が完結した時点で、誤差拡散処理部11による1フレーム分の処理が完了する。その後は、図示していないが、次のフレームの処理が同様に実行される。
以上説明したように、本実施形態による画像表示システム1によれば、修正誤差値Err2’に基づいて算出される第2の画素データvd2_mod(n,m)から、出力データvd_out(n,m)が生成される。そして、修正誤差値Err2’は、修正誤差値算出部40が上述した処理によって算出していることから、境界Bも含めて連続的に変化する。したがって、本実施形態による画像表示システム1によれば、特許文献1の技術で生ずるような誤差拡散ブロックの境界での目立ちを抑制することが可能になる。
以上、本発明の一実施形態に係る好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
例えば、上記実施形態では、モノクロ表示の表示部20を用いることを前提として本発明の一実施形態に係る構成を説明したが、上述したように、カラー表示の表示部20を用いる場合にも本発明は適用可能である。その場合、階調変換部10には色(例えば、赤(R)、緑(G)、青(B)、白(W))ごとに入力データvd_in(n,m)が入力されることになるので、色ごとに上記処理を行えばよい。
カラー表示の表示部20を用いる場合において、誤差拡散ブロックBLの配置は、色によらず同じであるとしてもよいし、色ごとに異なることとしてもよい。最適な表示結果が得られる配置を適宜選択すればよい。
また、上記実施形態では、個々の誤差拡散ブロックBLを水平方向及び垂直方向のそれぞれに平行な4辺により構成される長方形によって構成したが、その他の形状により個々の誤差拡散ブロックBLを構成することとしてもよい。個々の誤差拡散ブロックBLの形状は自由であり、最適な表示結果が得られるように適宜選択すればよい。
また、上記実施形態で誤差拡散処理部11に入力される入力データvd_inは、階調変換部10の図示しないディザリング処理部によりディザリング済みのものであることとしてもよい。例えば、ディザリング処理部により元々8ビットの画像データをディザリング8により6ビットとし、さらに、この6ビットの画像データをディザリング6により4ビットとしたものを、入力データvd_inとして誤差拡散処理部11に入力することとしてもよい。
また、本発明の一実施形態の効果は、画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような場合に特に有効である。なお、誤差拡散処理部11が処理を行うにあたっては、表示対象の入力データvd_inが、画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような画像を示すものであるか否かを判定し、その結果に応じて、処理を変えることとしてもよい。具体的には、判定結果が肯定である場合には、本実施形態で説明した処理を行う一方、判定結果が否定である場合には、例えば図4のステップS4で算出される第1の画素データvd1_mod(n,m)を出力データvd_out(n,m)として出力することとし、ステップS5,S7,S8,S10,S11にかかる処理はスキップすることとしてもよい。表示対象の入力データvd_inが、画面内の一部の領域に動画が埋め込まれ、他の領域は静止画となっているような画像を示すものであるか否かを判定し、その結果に応じて、処理を変えることで、効率のよい画像処理と、画像表示システムへの画像の表示が可能となる。
以上説明したように、拡散誤差の規格化係数を表す定数a、b、c、dを、入力データvd_in(n,m)の階調によって変えた誤差拡散法による階調処理を行うことで、誤差拡散ブロックBLのブロック境界を連続的に変化させることができる。したがって、誤差拡散ブロックBLのブロック境界が目立たなくなり、高画質な画像を提供することができる。本発明の一実施形態を利用することで、特に、低階調側において目立つ誤差拡散ブロックBLのブロック境界を目立たなくすることができる。
(第2実施形態)
本実施形態では、本発明の一実施形態に係る別の画像処理装置を説明する。なお、第1実施形態と同様の構成に関しては説明を省略することがある。
図12は、図3及び図7に示した第1の画素データ算出部30の機能ブロックの別の例を示す略ブロック図である。図7に対して、第2の境界判定回路104が削除され、第3の境界判定回路105、及び第4の境界判定回路106が追加された以外は同じである。本実施形態においては、入力データvd_in(n,m)の階調が25階調未満の場合、第1の境界判定回路103が画素PX(n,m)と境界との関係を判定する処理を行う。入力データvd_in(n,m)の階調が25階調以上65階調未満の場合、第3の境界判定回路105が画素PX(n,m)と境界との関係を判定する処理を行う。入力データvd_in(n,m)の階調が65階調以上の場合、第4の境界判定回路106が、画素PX(n,m)と境界との関係を判定する処理を行う。以上説明した内容以外は図7と同様であるから、説明は省略する。
図13は、図8に示した、入力データの階調に応じたvd1_mod(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。
図13は、第1の画素データ算出部30は、ステップS50にしたがって、入力データvd_in(n,m)の階調が、65以上の場合と、65未満の場合とで処理が異なる。入力データvd_in(n,m)の階調が65以上の場合には、ステップ52にしたがって、第4の境界判定回路106により画素PX(n,m)と境界との関係を判定する処理を行う。第1の画素データ算出部30は、入力データvd_in(n,m)の階調が、65未満の場合には、ステップS51にしたがって、画素PX(n,m)と境界との関係を判定する処理を行う。ステップS51では、入力データvd_in(n,m)の階調が、25以上の場合には、ステップS53にしたがって、第3の境界判定回路105により画素PX(n,m)と境界との関係を判定する処理を行う。ステップS51では、入力データvd_in(n,m)の階調が、25未満の場合には、ステップS54にしたがって、第1の境界判定回路103により画素PX(n,m)と境界との関係を判定する処理を行う。そして、それぞれのステップにおいて、画素PX(n,m)が水平方向と垂直方向の両方について境界に位置する場合と、水平方向のみについて境界に位置する場合と、垂直方向のみについて境界に位置する場合と、水平方向と垂直方向のいずれについても境界に位置しない場合とで、異なる数式により第1の画素データvd1_mod(n,m)の算出を行う。なお、図8の「水平方向のみの場合」のvd1_mod(n,m)の算出方法は、「両方向の場合」の算出方法と同じ数式であっても良い。
具体的には、入力データvd_in(n,m)の階調が、65階調以上の場合のステップ52では、式(3)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/4、cは1/4、dは1/2とする。ステップ52は、図8で説明したステップS23と同様の処理を行うため、説明は省略する。
入力データvd_in(n,m)の階調が、65未満、かつ25以上の場合のステップ53では、図14に示すフロー図にしたがって処理が行われる。ステップ53では、式(3)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは3/8、cは1/8、dは1/2とする。
画素PX(n,m)が水平方向と垂直方向の両方について誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は前述した式(4)となる。
画素PX(n,m)が垂直方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は次の式(22)となる。
Figure 2019012922
画素PX(n,m)が水平方向のみについて誤差拡散ブロックBLのブロック境界に位置する場合、vd1_mod(n,m)は式(23)となる。
Figure 2019012922
画素PX(n,m)が水平方向と垂直方向のいずれについても誤差拡散ブロックBLのブロック境界に位置しない場合、vd1_mod(n,m)は式(24)となる。
Figure 2019012922
一方、入力データvd_in(n,m)の階調が、25階調未満の場合のステップ54では、図15に示すフロー図にしたがって処理が行われる。ステップS54では、式(3)に示した拡散誤差の規格化係数を表す定数a、b、c、dをそれぞれ、aは0、bは1/2、cは0、dは1/2とする。ステップS54は、図8で説明したステップS22と同様の処理を行うため、説明は省略する。
また、第2の画素データ算出部31により第2の画素データvd2_mod(n,m)を算出する処理が行われる場合においても、第1の画素データ算出部30により第1の画素データvd1_mod(n,m)を算出する処理が行われる場合と同様に、65階調以上と、25階調以上65階調未満と、25階調未満とで、拡散誤差の規格化係数を表す定数a、b、c、dを変える。第2の画素データ算出部31は、入力データvd_in(n,m)の階調が25階調未満の場合の第2の画素データ算出部31A(図示せず)と、入力データvd_in(n,m)の階調が25階調以上65階調未満の場合の第2の画素データ算出部31C(図示せず)と、入力データvd_in(n,m)の階調が65階調以上の場合の第2の画素データ算出部31D(図示せず)と、を有する。第2の画素データvd2_mod(n,m)を算出する処理が行われる場合には、第2の画素データvd2_mod(n,m)の算出式は、図8で説明したステップS23と、図14で説明したステップS53と、図15で説明したステップS54で示した数式において、第1の画素データvd1_mod(n,m)を第2の画素データvd2_mod(n,m)に置き換えて、さらに、第1の誤差値Err1を修正誤差値Err2’に置き換えれればよい。
図16は、図13に示したvd1_mod(n,m)算出処理、及びvd2_mod(n,m)算出処理の具体的な例を示す図である。図16(A)は、入力データvd_in(n,m)の階調が、65階調以上の場合のvd1_mod(n,m)算出処理の具体的な例を示している。図16(A)に示すように、上面視において、注目画素PX(n,m)に対して、水平方向の画素に乗算される拡散誤差の規格化係数dは1/2である。同様に、注目画素PX(n,m)に対して、右下方向の画素に乗算される拡散誤差の規格化係数aは0である。同様に、注目画素PX(n,m)に対して、垂直方向の画素に乗算される拡散誤差の規格化係数bは1/4である。同様に、注目画素PX(n,m)に対して、左下方向の画素に乗算される拡散誤差の規格化係数cは1/4である。図16(B)は、入力データvd_in(n,m)の階調が、25階調以上64階調未満の場合のvd1_mod(n,m)算出処理の具体的な例を示している。図16(B)に示すように、上面視において、注目画素PX(n,m)に対して、水平方向の画素に乗算される拡散誤差の規格化係数dは1/2である。同様に、注目画素PX(n,m)に対して、右下方向の画素に乗算される拡散誤差の規格化係数aは0である。同様に、注目画素PX(n,m)に対して、垂直方向の画素に乗算される拡散誤差の規格化係数bは3/8である。同様に、注目画素PX(n,m)に対して、左下方向の画素に乗算される拡散誤差の規格化係数cは1/8である。図16(C)は、入力データvd_in(n,m)の階調が、25階調未満の場合のvd1_mod(n,m)算出処理の具体的な例を示している。図16(C)に示すように、上面視において、注目画素PX(n,m)に対して、水平方向の画素に乗算される拡散誤差の規格化係数dは1/2である。同様に、注目画素PX(n,m)に対して、右下方向の画素に乗算される拡散誤差の規格化係数aは0である。同様に、注目画素PX(n,m)に対して、垂直方向の画素に乗算される拡散誤差の規格化係数bは1/2である。同様に、注目画素PX(n,m)に対して、左下方向の画素に乗算される拡散誤差の規格化係数cは0である。
本実施形態においては、図16は、入力データvd_in(n,m)の階調が、65階調以上と、25階調以上65階調未満と、25階調未満との、それぞれの階調の範囲に応じた3つの拡散誤差の規格化係数を表す定数a、b、c、dを利用する例を示したが、拡散誤差の規格化係数を表す定数a、b、c、dを利用する例はこの例に限定されない。例えば、入力データvd_in(n,m)の階調を、4つの範囲に分けて、誤差拡散ブロックBLのブロック境界を目立たなくしたければ、4つの範囲に分けたそれぞれの階調の範囲に応じた4つの拡散誤差の規格化係数を表す定数a、b、c、dを利用すればよい。誤差拡散ブロックBLのブロック境界を目立たなくしたい程度に応じて、適宜対応すればよい。
以上のように、vd1_mod(n,m)の算出処理において、入力データvd_in(n,m)が、65階調以上と、25階調以上65階調未満と、25階調未満とで、拡散誤差の規格化係数を表す定数a、b、c、dを変えることで、誤差拡散法による階調処理を行い、誤差拡散ブロックBLのブロック境界を目立たなくすることができる。特に、低階調側に誤差拡散ブロックBLのブロック境界が目立つ場合において、本発明の一実施形態に係る画像処理装置、画像処理方法、それらを実装した画像表示システムを用いることで、誤差拡散ブロックBLのブロック境界が目立たなくなり、高画質な画像を表示可能な画像処理装置、画像処理装置の処理方法、それらを実装した画像表示システムを提供することができる。
(第3実施形態)
本実施形態では、本発明の一実施形態に係るさらに別の画像処理装置の例を説明する。なお、第1実施形態または第2実施形態と同様の構成に関しては説明を省略することがある。
図17は、図3に示した第1の量子化データ算出部32の機能ブロックを示す略ブロック図である。
第1の量子化データ算出部32は、第1の量子化部32A、第2の量子化部32B、及び選択回路209を有する。第1の量子化データ算出部32は、第1の画素データvd1_mod(n,m)、及び入力データvd_in(n,m)が入力される。また、第1の量子化データ算出部32は、第1の量子化データLV1(n,m)を出力する。なお、(n,m)が各機能ブロックに入力され、各データと各データの座標とを紐付けする役割を有していてもよい。
第1の量子化データLV1(n,m)の算出の、回路の動作を説明する。第1の量子化データ算出部32に、第1の画素データvd1_mod(n,m)、及び入力データvd_in(n,m)が入力される。第1の画素データvd1_mod(n,m)は、第1の量子化部32A、及び第2の量子化部32Bに入力される。第1の量子化部32Aは、入力データの階調が8ビットから3ビットへの符号化あるいは量子化を行う。第2の量子化部32Bは、入力データの階調が6ビットから3ビットへの符号化あるいは量子化を行う。第1の量子化部32A、及び第2の量子化部32Bは、符号化あるいは量子化されたデータ227を出力する。
選択回路109は、選択信号130に応じて、符号化あるいは量子化されたデータ227のうち、8ビットから3ビットへの符号化あるいは量子化されたデータ、または、6ビットから3ビットへの符号化あるいは量子化されたデータのいずれかを選択する。第1の量子化データ算出部32は、第1の画素データvd1_mod(n,m)を出力する。なお、選択信号230は、外部から入力される信号でもよいし、内部で生成された信号でもよい。選択信号230が、8ビットから3ビットへの符号化あるいは量子化されたデータ、または、6ビットから3ビットへの符号化あるいは量子化されたデータのいずれかを選択することができるように、本発明が、その要旨を逸脱しない範囲において、回路構成、機能を、適宜検討すればよい。
図18、及び図19は、図4に示したLV1(n,m),vd1_out(n,m)算出処理及びLV2(n,m),vd2_out(n,m)算出処理の別の一実施形態の詳細を示すフロー図である。同図に示す「i」は「1」又は「2」を表す変数である。以下では、i=1の場合の処理、すなわちLV1(n,m),vd1_out(n,m)算出処理に着目して説明するが、LV2(n,m),vd2_out(n,m)算出処理についても同様である。
まず初めに、ステップS60によって、第1の量子化データ算出部32により、第1の画素データvd1_mod(n,m)を、入力データの階調が8ビットから3ビットへの符号化、あるいは量子化をするのか、入力データの階調が6ビットから3ビットへの符号化、あるいは量子化をするのか、を選択する。
入力データの階調が8ビットから3ビットへの符号化、あるいは量子化を選択した場合は、ステップS61によって、第1の量子化処理部32Aにより量子化処理1の処理を行う。入力データの階調が6ビットから3ビットへの符号化、あるいは量子化を選択した場合は、ステップ62によって、第1の量子化処理部32Bにより量子化処理2の処理を行う。
ステップS61に応じた、量子化処理1の処理は、図10において説明したステップS30と同様であるから、説明は省略する。
ステップS62では、第1の画素データvd1_mod(n,m)の値の範囲が判定される。図19の例では、第1の画素データvd1_mod(n,m)の値が「234以上」「198以上234未満」「162以上198未満」「126以上162未満」「90以上126未満」「54以上90未満」「18以上54未満」「その他(18未満)」のいずれに属するかが判定される。なお、図19ではこのように8つの範囲を用いているが、これは、第1の出力画素データvd1_out(n,m)のビット数3で表現可能な数が「0」〜「7」の8種類であることに対応するものである。第1の出力画素データvd1_out(n,m)のビット数によっては、より細かく範囲を設定することとしてもよいし、逆により粗く範囲を設定することとしてもよい。細かく設定するほど、高精細な画像が得られることになる。
第1の量子化データ算出部32は、ステップS62の判定結果に基づいて、第1の量子化データLV1(n,m)を算出する。図19の例では、例えば第1の画素データvd1_mod(n,m)の値が「234以上」である場合、第1の量子化データ算出部32は、第1の量子化データLV1(n,m)の値を「252」と決定する。同様に、「198以上234未満」に対して「216」、「162以上198未満」に対して「180」「126以上162未満」に対して「144」、「90以上126未満」に対して「108」、「54以上90未満」に対して「72」、「18以上54未満」に対して「36」、「その他(18未満)」に対して「0」をそれぞれ第1の量子化データLV1(n,m)の値として決定する。
こうして第1の量子化データLV1(n,m)が決定されると、次に第1の出力画素データ算出部33により、3ビットデータである第1の出力画素データvd1_out(n,m)の値が算出される。具体的に説明すると、第1の出力画素データ算出部33は、例えば第1の量子化データLV1(n,m)の値が「252」である場合、第1の出力画素データvd1_out(n,m)の値を「111b」とする。同様に、「216」に対して「110b」、「180」に対して「101b」、「144」に対して「100b」、「108」に対して「011b」、「72」に対して「010b」、「36」に対して「001b」、「0」に対して「000b」をそれぞれ第1の出力画素データvd1_out(n,m)の値として決定する。
以上のように、第1の量子化データLV1(n,m)、第1の出力画素データvd1_out(n,m)、第2の量子化データLV2(n,m)、第2の出力画素データvd2_out(n,m)が算出される。
本実施形態においては、LV1(n,m),vd1_out(n,m)算出処理において、第1の量子化データ算出部32は、入力データの階調が8ビットから3ビットへの符号化あるいは量子化を行う第1の量子化処理部32Aと、入力データの階調が6ビットから3ビットへの符号化あるいは量子化を行う第1の量子化処理部32Bとの、二つの処理部を有し、量子化処理をする例を示したが、この例に限定されない。例えば、入力データの階調が4ビット、あるいは、入力データの階調が12ビットであっても対応できるように、入力データの階調が4ビットから3ビットへの符号化あるいは量子化を行う第1の量子化処理部32Cと、入力データの階調が12ビットから3ビットへの符号化あるいは量子化を行う第1の量子化処理部32Dと、を有していてもよい。誤差拡散ブロックBLのブロック境界を目立たなくしたい程度に応じて、量子化処理を適宜検討すればよい。なお、第2の量子化データ算出部34についても同様である。
本実施形態において示したように、第1の量子化データ算出部32、および第2の量子化データ算出部34が、複数の量子化処理部を有することで、複数の入力データの階調に対して、一つの画像処理装置で画像処理を行うことができる。すなわち、信号源が変わったとしても、本実施形態において示した画像処理装置を用いることで、一つの画像処理回路で画像処理を行うことができる。
本発明の実施形態として上述した各実施形態は、相互に矛盾しない限りにおいて、適宜組み合わせて実施することができる。
本明細書においては、開示例として主に画像処理装置と画像処理方法とそれらを実装した画像表示システムを例示したが、画像処理装置が処理した画素データを表示する表示装置は、別の自発光型表示装置、液晶表示装置、あるいは電気泳動素子などを有する電子ペーパー型表示装置など、あらゆるフラットパネル型の表示装置が挙げられる。また、中小型から大型まで、特に限定することなく適用が可能である。
上述した各実施形態の態様によりもたらされる作用効果とは異なる別の作用効果であっても、本明細書の記載から明らかなもの、または、当業者において容易に予測し得るものについては、当然に本発明によりもたらされるものと解される。
1・・・画像表示システム、10・・・階調変換部、11・・・誤差拡散処理部、20・・・表示部、21・・・表示面、30・・・第1の画素データ算出部、31・・・第2の画素データ算出部、32・・・第1の量子化データ算出部、32A・・・第1の量子化部、32B・・・第2の量子化部、33・・・第1の出力画素データ算出部、34・・・第2の量子化データ算出部、35・・・第2の出力画素データ算出部、36・・・第1の誤差値算出部、37・・・第2の誤差値算出部、38・・・制限誤差値算出部、39・・・判定部、40・・・修正誤差値算出部、41・・・記憶部、103・・・第1の境界判定回路、104・・・第2の境界判定回路、105・・・第3の境界判定回路、106・・・第4の境界判定回路、107・・・ラッチ回路、108・・・選択信号発生回路、109、209・・・選択回路、110・・・データ合成回路、127・・・拡散誤差の規格化係数が乗算されたデータ、128・・・選択回路109から出力されたデータ、129・・・ラッチ回路から出力されたデータ、130、230・・・選択信号、227・・・符号化あるいは量子化されたデータ、B・・・誤差拡散ブロックBLの境界、BL・・・誤差拡散ブロック、Err1・・・第1の誤差値、Err1_mux・・・制限誤差値、Err2・・・第2の誤差値、Err2’・・・修正誤差値、H・・・水平方向距離、LV1・・・第1の量子化データ、LV2・・・第2の量子化データ、PX・・・画素、V・・・垂直方向距離、vd_in・・・入力データ、vd_out・・・出力データ、vd1_mod・・・第1の画素データ、vd1_out・・・第1の出力画素データ、vd2_mod・・・第2の画素データ、vd2_out・・・第2の出力画素データ

Claims (18)

  1. 複数の画素を有する表示面を含む画像表示装置に入力される入力データに対して、前記表示面を複数の領域に分割してなる複数の誤差拡散ブロックの各々に対して誤差拡散処理を施す画像処理装置であって、
    前記画素に対応する誤差値を記憶する記憶部と、
    前記複数の画素のうち一の画素を囲む画素のうちの少なくとも一つの画素に対応する前記誤差値及び当該誤差値に対応する画素における前記入力データの階調に応じた係数に基づいて、当該画素に対応する画素データを算出する画素データ算出部と、
    前記画素データ算出部によって算出された画素データを量子化して量子化データを算出する量子化データ算出部と、
    前記画素データ算出部によって算出された画素データと、当該画素データの量子化によって得られた前記量子化データとの誤差値を、当該画素に対応させて前記記憶部に記憶させる誤差値算出部と、
    を備えることを特徴とする画像処理装置。
  2. 前記一の画素が所定の範囲内にあるか否かを判定する判定部をさらに備え、
    前記画素データ算出部は、当該画素が所定の範囲内にあると判定された場合には、当該画素を囲む画素のうち第1画素に対応する前記誤差値を用いて前記画素データを算出し、当該画素が所定の範囲内にないと判定された場合には、前記第1画素に対応する前記誤差値を用いずに前記画素データを算出する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記画素データは、前記画素に対応する誤差値に前記係数を乗算した値と、前記一の画素に対応する入力データとを加算することにより、算出されることを特徴とする請求項1に記載の画像処理装置。
  4. 前記入力データの階調の範囲が複数の区間に分割され、前記区間ごとに前記画素データの算出に用いる前記係数が異なることを特徴とする請求項1に記載の画像処理装置。
  5. 前記区間は、2つであることを特徴とする請求項4に記載の画像処理装置。
  6. 前記区間は、3つ以上であることを特徴とする請求項4に記載の画像処理装置。
  7. 前記一の画素を囲む画素のうち前記画像表示装置に画像を表示するためのスキャン方向と同じ方向かつ直前にスキャンされた行に位置する画素に対応する前記係数は、前記区間ごとに異なる、ことを特徴とする請求項4に記載の画像処理装置。
  8. 前記区間ごとに異なる前記係数のうち、少なくとも一つは0であることを特徴とする請求項7に記載の画像処理装置。
  9. 前記量子化してなる出力画素データを算出する出力画素データ算出部をさらに備えることを特徴とする請求項1に記載の画像処理装置。
  10. 前記量子化は、8ビットのデータ、または6ビットのデータを3ビットのデータに変換することを特徴とする請求項1に記載の画像処理装置。
  11. 複数の画素を有する表示面を含む画像表示装置に入力される入力データに対して、前記表示面を複数の領域に分割してなる複数の誤差拡散ブロックの各々に対して誤差拡散処理を施す画像処理方法であって、
    前記画素に応じて誤差値を記憶部に記憶させ、
    前記複数の画素のうち一の画素を囲む画素のうちの少なくとも一つの画素に対応する前記誤差値及び当該誤差値に対応する画素における前記入力データの階調に応じた係数に基づいて、当該画素に対応する画素データを算出し、
    当該画素データを量子化してなる量子化データを算出し、
    当該画素データと、当該画素データを量子化してなる量子化データとに基づいて誤差値を算出し、
    前記誤差値を、当該画素に対応させて前記記憶部に記憶する
    ことを特徴とする画像処理方法。
  12. 前記画素データの算出は、前記一の画素が所定の範囲内にあると判定された場合には、当該画素を囲む画素のうち第1画素に対応する前記誤差値を少なくとも用いて前記画素データを算出し、前記当該画素が所定の範囲内にないと判定された場合には、前記第1画素に対応する前記誤差値を用いずに前記画素データを算出することを特徴とする請求項11に記載の画像処理方法。
  13. 前記一の画素に対応する画素データの算出は、前記誤差値に前記係数を乗算し、乗算された値と、前記当該画素に対応する入力データとを加算すること
    であることを特徴とする請求項11に記載の画像処理方法。
  14. 前記入力データの階調が複数の区間に分割され、前記区間ごとに前記誤差値に乗算される前記画素データの算出に用いる前記係数が異なることを特徴とする請求項11に記載の画像処理方法。
  15. 前記区間は、2つであることを特徴とする請求項14に記載の画像処理方法。
  16. 前記区間は、3つ以上であることを特徴とする請求項14に記載の画像処理方法。
  17. 前記量子化は、8ビットのデータ、または6ビットのデータを3ビットのデータに変換することを特徴とする請求項11に記載の画像処理方法。
  18. 請求項1に記載の画像処理装置と、複数の画素を有する表示面を含む画像表示装置とを有し、
    前記画像処理装置によって誤差拡散処理されたデータに基づいて前記画素の階調が制御される、
    ことを特徴とする画像表示システム。
JP2017128475A 2017-06-30 2017-06-30 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム Pending JP2019012922A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017128475A JP2019012922A (ja) 2017-06-30 2017-06-30 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム
US16/010,893 US10777117B2 (en) 2017-06-30 2018-06-18 Image processing device, image processing method and display system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017128475A JP2019012922A (ja) 2017-06-30 2017-06-30 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム

Publications (1)

Publication Number Publication Date
JP2019012922A true JP2019012922A (ja) 2019-01-24

Family

ID=64739139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017128475A Pending JP2019012922A (ja) 2017-06-30 2017-06-30 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム

Country Status (2)

Country Link
US (1) US10777117B2 (ja)
JP (1) JP2019012922A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020123917A (ja) * 2019-01-31 2020-08-13 富士通株式会社 画像処理プログラム、画像処理装置及び画像処理方法
CN112951143B (zh) * 2021-03-31 2024-03-15 西安诺瓦星云科技股份有限公司 显示屏校正方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3999406B2 (ja) 1999-05-18 2007-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 拡散率の適応化を用いた誤差拡散方法及び装置
US8208175B2 (en) 2005-04-13 2012-06-26 Xerox Corporation Blended error diffusion and adaptive quantization
JP5612490B2 (ja) * 2011-01-13 2014-10-22 株式会社ジャパンディスプレイ 画像表示装置、画像表示装置の駆動方法及び画像表示プログラム、並びに、階調変換装置
US9215345B2 (en) * 2013-03-26 2015-12-15 Xerox Corporation Method and system for inverse halftoning utilizing inverse projection of predicted errors
WO2015055235A1 (en) * 2013-10-15 2015-04-23 Hewlett-Packard Development Company, L.P. Image processing using content-based weighted dithering

Also Published As

Publication number Publication date
US10777117B2 (en) 2020-09-15
US20190005864A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
JP6309777B2 (ja) 表示装置、表示パネルドライバ、及び、表示パネルの駆動方法
JP7335066B2 (ja) 表示ドライバ、表示装置及び輝度制御方法
JP5685064B2 (ja) 画像表示装置、画像表示装置の駆動方法及び画像表示プログラム、並びに、階調変換装置
CN107545868B (zh) 显示设备
JP5875423B2 (ja) 画像処理装置および画像処理方法
JP5091995B2 (ja) 液晶表示装置
JP6347957B2 (ja) 表示装置、表示パネルドライバ、及び、表示パネルの駆動方法
US20180197454A1 (en) System and method for subpixel rendering and display driver
KR20170040865A (ko) 표시장치와 그 영상 렌더링 방법
JP2019012922A (ja) 画像処理装置、画像処理方法、及びそれらを実装した画像表示システム
JP5612490B2 (ja) 画像表示装置、画像表示装置の駆動方法及び画像表示プログラム、並びに、階調変換装置
US9773470B2 (en) Display device, method of driving display device, and electronic apparatus
JP2017167464A (ja) 画像表示装置及び画像表示装置の駆動方法
JP4601949B2 (ja) 表示装置の駆動方法、表示装置、並びに、そのプログラム、プログラムを記録した記録媒体
JP6108238B2 (ja) 制御回路及びその表示装置
JP5762994B2 (ja) 画像表示装置、画像表示装置の駆動方法および階調変換プログラム、並びに、階調変換装置
JP6395434B2 (ja) 表示装置、表示装置の駆動方法及び電子機器
KR20120139564A (ko) 화상 처리 장치, 전기 광학 장치, 전자 기기 및 화상 처리 방법
JP4103528B2 (ja) 階調特性テーブルの生成方法、生成プログラム、生成装置、及び画像表示装置
JP2019028292A (ja) 表示ドライバー、表示コントローラー、電気光学装置及び電子機器
KR101888442B1 (ko) 표시장치 및 그 영상처리방법
JP5389966B2 (ja) 表示装置および表示装置の輝度ムラ補正方法
KR101596954B1 (ko) 데이터 압축과 복원 방법 및 장치와 이를 이용한 액정표시장치
JP2008292704A (ja) 液晶表示装置
JP4930845B2 (ja) 画像処理装置、画像処理方法、および画像処理用プログラム