JP2016139980A - 画像処理装置、画像処理方法および表示装置 - Google Patents
画像処理装置、画像処理方法および表示装置 Download PDFInfo
- Publication number
- JP2016139980A JP2016139980A JP2015014580A JP2015014580A JP2016139980A JP 2016139980 A JP2016139980 A JP 2016139980A JP 2015014580 A JP2015014580 A JP 2015014580A JP 2015014580 A JP2015014580 A JP 2015014580A JP 2016139980 A JP2016139980 A JP 2016139980A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- input image
- output
- sampling position
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止する。
【解決手段】画像処理回路は、入力画像に対する拡大処理における拡大率の逆数から得られる間隔を、決められた条件を満たす精度の固定小数点形式で記憶する画素間隔記憶手段と、入力画像における画素位置を示す現在値に、画素間隔記憶手段に記憶されている間隔を加算し、対象画素に対応する入力画像の画素位置を得る加算手段と、加算手段の出力値に対して端数処理を行い、サンプリング位置を算出するサンプリング位置算出手段と、入力画像のうちサンプリング位置の整数部により特定される位置にある画素の階調値に対して、サンプリング位置の小数部により特定される係数を用いた演算を行うフィルタ演算手段と、フィルタ演算手段により得られた階調値を含む出力画像のデータを出力する画像データ出力手段とを有する。
【選択図】図3
【解決手段】画像処理回路は、入力画像に対する拡大処理における拡大率の逆数から得られる間隔を、決められた条件を満たす精度の固定小数点形式で記憶する画素間隔記憶手段と、入力画像における画素位置を示す現在値に、画素間隔記憶手段に記憶されている間隔を加算し、対象画素に対応する入力画像の画素位置を得る加算手段と、加算手段の出力値に対して端数処理を行い、サンプリング位置を算出するサンプリング位置算出手段と、入力画像のうちサンプリング位置の整数部により特定される位置にある画素の階調値に対して、サンプリング位置の小数部により特定される係数を用いた演算を行うフィルタ演算手段と、フィルタ演算手段により得られた階調値を含む出力画像のデータを出力する画像データ出力手段とを有する。
【選択図】図3
Description
本発明は、画像の拡大処理および縮小処理に関する。
入力画像を拡大して出力画像を得る画像処理において、入力画像の各画素に対する出力画素の相対位置を求めて再サンプリングする方法が広く用いられている。この方法において、出力画像は、入力画像の階調値をある空間的な間隔でサンプリングすることによって得られる。この間隔は、入力画像のサイズを出力画像のサイズで除算することにより得られる。しかし、除算は処理負荷が重いため、この間隔の近似値を固定小数点の形式で記憶しておき、この近似値を順次加算することによりサンプリング位置を求める方法が用いられる。この方法では、処理負荷が軽くなる反面、出力画像のサイズが大きくなると丸め誤差の累積により、対象画素に対応する入力画像の画素の位置の誤差が大きくなり、出力画像の画質が低下する傾向にある。この問題に対処するため、サンプリング位置を一定の空間的間隔毎に補正する技術が知られている(例えば、特許文献1乃至3)。
特許文献1乃至3に記載の技術においては、入力画像のサイズと出力画像のサイズの比が簡単な整数比にならない場合、丸め誤差を補正するタイミングが複雑になり、誤差の補正の処理負荷が大きくなる傾向にある。特に、任意のサイズの入力画像を任意のサイズに拡大可能な装置を構成しようとした場合、誤差の補正の処理負荷、または、誤差の補正のために記憶される補正テーブルのデータ量は膨大になるという問題がある。この問題に対処する方法の一つに、入力画像と出力画像とのサイズの比に制限を設ける方法がある。しかし、この場合においても、この制限に合致しない場合には出力画像の画質が低下するという問題がある。
これに対し本発明は、入力画像を拡大または縮小して出力画像を得る画像処理装置において、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止する技術を提供する。
本発明は、入力画像に対する拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数から得られる間隔を、次式(1)を満たす精度Aの固定小数点形式で記憶する記憶手段と、前記入力画像における画素の位置を示す現在値に、前記記憶手段に記憶されている間隔を加算し、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置を得る加算手段と、前記加算手段の出力値に対して端数処理を行い、サンプリング位置を算出するサンプリング位置算出手段と、入力画像のうち前記サンプリング位置算出手段により算出されたサンプリング位置の整数部により特定される位置にある画素を含む1以上の画素の階調値に対して、前記サンプリング位置の小数部により特定される係数を用いた演算を行う演算手段と、前記演算手段により得られた階調値を、前記出力画像における前記対象画素の階調値として含むデータを出力する出力手段とを有する画像処理装置を提供する。
ここで、Rは前記サンプリング位置の分解能の逆数、Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る値の最大値、Dは出力画像のサイズの最大値をそれぞれ示す。
この画像処理装置によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
この画像処理装置によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
前記記憶手段は、前記逆数の小数部を、次式(2)を満たすビット数Bで記憶してもよい。
ここで、rは次式(3)を満たす実数、qは次式(4)を満たす実数、dは次式(5)を満たす実数をそれぞれ示す。
この画像処理装置によれば、拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数の小数部が式(2)を満たすビット数で記憶されている場合に、サンプリング位置の誤差に起因する出力画像の画質の低下が防止される。
前記記憶手段は、前記逆数の小数部を、次式(6)を満たすビット数Bで記憶してもよい。
この画像処理装置によれば、拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数の小数部が式(6)を満たすビット数で記憶されている場合に、サンプリング位置の誤差に起因する出力画像の画質の低下が防止される。
前記記憶手段は、前記逆数の小数部を、次式(7)を満たすビット数Bで記憶してもよい。
この画像処理装置によれば、拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数の小数部が式(7)を満たすビット数で記憶されている場合に、サンプリング位置の誤差に起因する出力画像の画質の低下が防止される。
前記記憶手段は、前記逆数の小数部を、次式(8)を満たすビット数Bで記憶してもよい。
この画像処理装置によれば、拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数の小数部が式(8)を満たすビット数で記憶されている場合に、サンプリング位置の誤差に起因する出力画像の画質の低下が防止される。
また、本発明は、入力画像に対する拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数から得られる間隔を、次式(9)を満たす精度Aの固定小数点形式で記憶するステップと、前記入力画像における画素の位置を示す現在値に、前記間隔を加算し、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置を得るステップと、前記入力画像の画素の位置に対して端数処理を行い、サンプリング位置を算出するステップと、入力画像のうち前記サンプリング位置の整数部により特定される位置にある画素を含む1以上の画素の階調値に対して、前記サンプリング位置の小数部により特定される係数を用いた演算を行うステップと、演算後の階調値を、前記出力画像における前記対象画素の階調値として含むデータを出力するステップとを有する画像処理方法を提供する。
ここで、
Rは前記サンプリング位置の分解能の逆数、
Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る値の最大値、
Dは出力画像のサイズの最大値をそれぞれ示す。
この画像処理方法によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
Rは前記サンプリング位置の分解能の逆数、
Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る値の最大値、
Dは出力画像のサイズの最大値をそれぞれ示す。
この画像処理方法によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
さらに、本発明は、請求項1乃至5のいずれか1項に記載の画像処理装置を提供する。
この表示装置によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
この表示装置によれば、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下を防止することができる。
1.構成
図1は、一実施形態に係る表示装置1のハードウェア構成を例示する図である。この例で、表示装置1はプロジェクターである。表示装置1は、CPU(Central Processing Unit)100と、ROM(Read Only Memory)101と、RAM(Random Access Memory)102と、記憶部103と、IF(インターフェース)部104と、画像処理回路105と、投写ユニット106と、操作パネル107とを有する。
図1は、一実施形態に係る表示装置1のハードウェア構成を例示する図である。この例で、表示装置1はプロジェクターである。表示装置1は、CPU(Central Processing Unit)100と、ROM(Read Only Memory)101と、RAM(Random Access Memory)102と、記憶部103と、IF(インターフェース)部104と、画像処理回路105と、投写ユニット106と、操作パネル107とを有する。
CPU100は、表示装置1の各部を制御する制御装置である。ROM101は、各種プログラムおよびデータを記憶した不揮発性の記憶装置である。RAM102は、データを記憶する揮発性の記憶装置であり、CPU100が処理を実行する際のワークエリアとして機能する。記憶部103は、データおよびプログラムを記憶する不揮発性の記憶装置、例えばHDD(Hard Disk Drive)またはSSD(Solid State Drive)である。
IF部104は、映像ソースとなる外部装置と信号またはデータのやりとりを仲介するインターフェースである。IF部104は、外部装置と信号またはデータのやりとりをするための端子(例えば、VGA端子、USB端子、有線LANインターフェース、S端子、RCA端子、HDMI(High-Definition Multimedia Interface:登録商標)端子など)および無線LANインターフェースを備える。
画像処理回路105は、入力された映像信号(以下「入力映像信号」という)により示される画像(以下「入力画像」という)に所定の画像処理を施す画像処理装置である。この例で、画像処理回路105の画像処理は、入力画像の拡大処理を含む。なお、本実施形態において、画像の「拡大」には、拡大率が1より小さい場合(すなわち縮小)も含まれる。1より小さい場合の拡大率を「縮小率」とも呼ぶ。画像処理回路105は、処理した画像(以下「出力画像」という)を投写ユニット106に出力する。画像処理回路105は、レジスターM(レジスターM1からレジスターM4)を有する。レジスターMは、画像処理回路105が拡大処理を行う際の演算経過と、拡大処理に必要なパラメーターとが記憶される。
投写ユニット106は、画像処理が施された映像信号に従って、スクリーンに画像を投写する。投写ユニット106は、光源、光変調器、および光学系、並びにこれらの駆動回路を有する(いずれも図示略)。光源は、高圧水銀ランプ、ハロゲンランプ、若しくはメタルハライドランプなどのランプ、またはLED(Light Emitting Diode)若しくはレーザーダイオードなどの固体光源である。光変調器は、光源から照射された光を映像信号に応じて変調する装置であり、例えば液晶パネルを有する。光学系は、光変調器により変調された光をスクリーンに投写する素子であり、例えばレンズおよびプリズムを有する。この例で、光源および光変調器は、色成分毎に設けられている。具体的には、赤、緑、および青の3原色のそれぞれについて個別に、光源および光変調器が設けられている。各液晶パネルによって変調された光は光学系で合成され、スクリーンに投写される。
操作パネル107は、ユーザーが表示装置1に対し指示を入力するための入力装置であり、例えば、キーパッド、ボタン、またはタッチパネルを含む。
図2は、入力画像の画素および出力画像の画素(サンプリング位置)の位置関係を示す図である。図2は、拡大処理における水平方向の拡大率が1.5である場合の位置関係を示している。図2において、目盛が振られた箇所は、入力画像および出力画像における画素を表す。また、入力画像において点で示した位置は、サンプリング位置を表す。
出力画像における各画素の階調値は、所定のサンプリング間隔(入力画像のサイズを出力画像のサイズで除算した値(すなわち、拡大率の逆数)から得られる間隔)で入力画像の階調値をサンプリングすることによって得られる。除算は処理負荷が重いため、予めサンプリング間隔を算出して保持しておき、このサンプリングを順次加算することによりサンプリング位置を求めることが知られている。(入力画像のサイズ)/(出力画像のサイズ)が無限小数になる可能性がある場合、サンプリング間隔を無限桁の精度で保持できるのが理想であるが、現実にはそのような構成は不可能である。特に、加算時の処理負荷やレジスターのビット数を抑える観点から、サンプリング間隔を所定の桁数に丸めて(端数処理して)保持し、このサンプリング間隔を順次加算することによりサンプリング位置を求めることが知られている。
このような方法で、拡大処理が行われる場合、サンプリング位置にサンプリング間隔が順次加算されていくと、サンプリング間隔の丸め誤差が累積するという問題がある。例えば、図2において、(入力画像のサイズ)/(出力画像のサイズ)=0.666・・・であるが、単純化して10進数の小数点以下1桁(小数第2位以下を切り捨て)になるように端数処理が行われた場合、保持されるサンプリング間隔は0.6である。この場合のサンプリング位置と、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置(以下、「真の出力画素位置」という)との対比を表1に示す。なお、表1は、サンプリング位置の初期値がゼロである場合の対比を示す。
表1に示す通り、サンプリング位置と真の出力画素位置との誤差は、サンプリング間隔の加算に伴って蓄積されるため、出力画像の画質が低下する(すなわち、出力画像と入力画像との間にズレが生じた状態となる)という問題がある。画質を改善するにはサンプリング間隔を記憶するレジスターのビット数を増やせばよいが、無限小数になる可能性がある拡大率の逆数に対し、レジスターのビット数を無限大にすることはできない。本願発明者らは、拡大率の逆数から得られる間隔をある精度以上で保持すれば、端数処理により生じる丸め誤差の累積に起因する出力画像の画質の低下を防止することができることを発見した。
図3は、画像処理回路105の機能構成を示す図である。画像処理回路105は、画素間隔記憶手段10と、初期値記憶手段11と、現在値記憶手段12と、加算手段13と、サンプリング位置算出手段14と、フィルタ係数記憶手段15と、フィルタ係数選択手段16と、画像データ入力手段17と、フィルタ演算手段18と、画像データ出力手段19とを有する。
画素間隔記憶手段10は、入力画像に対する拡大処理における拡大率の逆数から得られる間隔を、ある条件を満たす精度の固定小数点形式で記憶する。拡大率の逆数から得られる間隔は、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置を示す間隔を表す。拡大率の逆数から得られる間隔の精度が満たすべき条件については、後述する。初期値記憶手段11は、出力画像における一の画素の位置に対応する入力画像における画素位置を示す初期値を記憶する。初期値は、入力画像と出力画像との位置関係(例えば、左揃え/中央揃え/右揃えなど)に応じて決まる値である。現在値記憶手段12は、入力画像における画素位置を示す現在値を記憶する。加算手段13は、現在値記憶手段12に記憶されている現在値に、画素間隔記憶手段10に記憶されている間隔を加算し、対象画素に対応する入力画像の画素位置を得る。サンプリング位置算出手段14は、加算手段13の出力値に対して端数処理を行い、サンプリング位置を算出する。
フィルタ係数記憶手段15は、入力画像に含まれる画素の階調値に対して所定の演算処理を行うために用いられるフィルタ係数を含むテーブルを記憶する。フィルタ係数選択手段16は、フィルタ係数記憶手段15に記憶されたテーブルの中から、サンプリング位置算出手段14により算出されたサンプリング位置の小数部に対応する係数を選択する。画像データ入力手段17は、入力画像のデータをフィルタ演算手段18に入力する。フィルタ演算手段18は、画像データ入力手段17から入力された入力画像のうち、サンプリング位置算出手段14により算出されたサンプリング位置の整数部により特定される位置にある画像を含む1以上の画素の階調値に対して、フィルタ係数選択手段16により選択されたフィルタ係数を用いた演算を行う。画像データ出力手段19は、フィルタ演算手段18により得られた階調値を、出力画像における対象画素の階調値として含む出力画像のデータを後段の処理回路に出力する。
2.動作
図4は、画像処理回路105の動作を示すフローチャートである。この例で、画像処理回路105のレジスターM1には、入力画像のサイズおよび出力画像のサイズが記憶される。入力画像のサイズおよび出力画像のサイズは、例えば、ユーザーが操作パネル107を操作することにより設定される。レジスターM2には、出力画素間隔が記憶される。また、図4の説明では、レジスターM3に記憶されているパラメーターを「出力画素位置」といい、レジスターM4に記憶されているパラメーターを「サンプリング位置」という。出力画素位置は、サンプリング位置の算出に用いられる値であって、サンプリング位置よりも精度が高い(真の出力画素位置に近い)。サンプリング位置は、入力画像のうち読み出しの基準となる画素の位置を示す。
図4は、画像処理回路105の動作を示すフローチャートである。この例で、画像処理回路105のレジスターM1には、入力画像のサイズおよび出力画像のサイズが記憶される。入力画像のサイズおよび出力画像のサイズは、例えば、ユーザーが操作パネル107を操作することにより設定される。レジスターM2には、出力画素間隔が記憶される。また、図4の説明では、レジスターM3に記憶されているパラメーターを「出力画素位置」といい、レジスターM4に記憶されているパラメーターを「サンプリング位置」という。出力画素位置は、サンプリング位置の算出に用いられる値であって、サンプリング位置よりも精度が高い(真の出力画素位置に近い)。サンプリング位置は、入力画像のうち読み出しの基準となる画素の位置を示す。
以下の処理は、画像処理回路105に対して入力画像のデータが入力されたことを契機として開始される。なお、以下では、説明を簡略化するために、入力画像および出力画像のデータが一次元のデータである場合について説明する。
ステップS1において、画像処理回路105は、出力画素間隔を算出する。具体的には、画像処理回路105は、入力画像および出力画像のサイズをレジスターM1から読み出して、出力画素間隔を算出する。画像処理回路105は、算出された拡大率の逆数が次式(10)を満たす精度Aの固定小数点形式になるように端数処理を行い、端数処理後の出力画素間隔をレジスターM2に記憶する。
式(10)で、Rは後述するステップS5においてサンプリング位置が算出される際に出力画素位置に対して行われる端数処理の分解能(単位は例えば画素)の逆数、Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る最大値、Dは出力画像のサイズが取り得る最大値(画像処理回路105が処理可能な最大サイズ)をそれぞれ示す。QおよびDの単位は例えば画素である。入力画像および出力画像のサイズに特段の制限がなければ、Qは画像処理回路105が処理可能な出力画像のサイズの最大値に等しい。すなわちQ=Dである。例えば入力画像および出力画像のサイズがいずれも偶数であるという制限がある場合、Q=D/2である。
なお、2進数で考えると、式(10)は次式(11)と等価である。
ここで、Bは出力画素間隔の小数部のビット数、rは次式(12)を満たす実数、qは次式(13)を満たす実数、dは次式(14)を満たす実数をそれぞれ示す。
ステップS2において、画像処理回路105は、出力画素位置の初期値を算出する。具体的には、入力画像と出力画像との位置関係(例えば、左揃え/右揃え/中央揃えなど)に応じて初期値を算出する。入力画像と出力画像との位置関係は、例えば、ユーザーが操作パネル107を操作することにより予め設定されている。例えば、入力画像と出力画像との位置関係が左揃えである場合(すなわち入力画像の左端と出力画像の左端とが揃うように入力画像が拡大される場合)、初期値Iはゼロである。入力画像と出力画像との位置関係が中央揃えである場合(すなわち入力画像の中央と出力画像の中央とが揃うように入力画像が拡大される場合)、初期値Iは以下の式(15)により算出される。入力画像と出力画像との位置関係が右揃えである場合(すなわち入力画像の右端と出力画像の右端とが揃うように入力画像が拡大される場合)、初期値Iは以下の式(16)により算出される。
式(15)および式(16)で、size(in)は入力画像のサイズを示し、size(out)は出力画像のサイズを示す。画像処理回路105は、算出された初期値に対して、式(10)を満たす精度Aの固定小数点形式になるように端数処理を行い(すなわち、算出された初期値を1/(R・Q・D)の整数倍に切り上げ)、端数処理後の初期値を出力画素位置の現在値としてレジスターM3に記憶する。
ステップS3において、画像処理回路105は、フィルタ係数テーブルを自装置のうちフィルタ演算を行うための演算回路に設定する。例えば、画像処理回路105のメモリーには、バイキュービックフィルタ用のフィルタ係数テーブル、およびローパスフィルタ用のフィルタ係数テーブルが記憶されている。画像処理回路105は、入力画像に対する出力画像の拡大率が1よりも大きいときにはバイキュービックフィルタ用のフィルタ係数テーブルを演算回路に設定し、当該拡大率が1よりも小さいときにはローパスフィルタ用のフィルタ係数テーブルを演算回路に設定する。なお、フィルタ係数テーブルは、ここで例示したものに限らず、3つ以上のフィルタ係数テーブルの中から、入力画像に対する出力画像の拡大率に応じた一のフィルタ係数テーブルが演算回路に設定されてもよい。また、入力画像に対する出力画像の拡大率に関わらず、所定のフィルタ係数テーブルが演算回路に設定されてもよい。
ステップS4において、画像処理回路105は、出力画素位置を算出する。具体的には、画像処理回路105は、レジスターM3に記憶されている現在値に出力画素間隔を加算することにより、出力画素位置を算出する。なお、画像処理回路105のレジスターM3に記憶される現在値は、ステップS4において出力画素間隔が加算される度に加算後の値に更新される。また、ステップS4の処理が最初に行われる際には、出力画素間隔の加算はされず、レジスターM3に記憶された現在値が対象画素に対応する入力画像の画素位置として用いられる。
ステップS5において、画像処理回路105は、レジスターM3に記憶されている出力画素位置に対して端数処理を行い、サンプリング位置を算出する。具体的には、画像処理回路105は、ステップS4で算出された出力画素位置の現在値から1/Rより小さい端数部分を切り下げることにより1/R間隔に離散化されたサンプリング位置を算出する。画像処理回路105は、算出されたサンプリング位置をレジスターM4に記憶する。
ステップS6において、画像処理回路105は、ステップS3において演算回路に設定されたフィルタ係数テーブルの中から、レジスターM4に記憶されたサンプリング位置の小数部により特定されるフィルタ係数を選択する。
ステップS7において、画像処理回路105は、入力画像のデータの中から、レジスターM4に記憶されたサンプリング位置の整数部により特定される位置にある画素の階調値を読み出す。
ステップS8において、画像処理回路105は、ステップS7で読み出した階調値に対して、ステップS6で選択した係数を用いたフィルタ演算を行う。画像処理回路105は、フィルタ演算後の階調値をラインバッファに記憶する。
ステップS9において、画像処理回路105は、出力画像に含まれるすべての画素について階調値が特定されたか否かを判断する。具体的には、画像処理回路105は、ラインバッファに記憶された階調値の数が出力画像のサイズに達したか否かを判断する。出力画像に含まれるすべての画素について階調値が特定されたと判断された場合(ステップS9:YES)、画像処理回路105は、処理をステップS10に移行する。出力画像に含まれる画素のうち階調値が特定されていない画素があると判断された場合(ステップS9:NO)、画像処理回路105は、すべての画素について階調値が特定されるまでステップS4からステップS8の処理を繰り返す。ステップS10において、画像処理回路105は、出力画像のデータを投写ユニット106に出力する。
以上の処理により、出力画素間隔を式(10)を満たす精度Aの固定小数点形式で保持することにより、サンプリング位置を算出する際の丸め誤差の累積に起因する出力画像の画質の低下が防止される。これにより、サンプリング位置の補正によらずに、サンプリング位置の誤差に起因する出力画像の画質の低下が防止される。
なお、図4では、入力画像および出力画像のデータが一次元のデータである場合について説明したが、入力画像および出力画像のデータが二次元のデータである場合には、ステップS4からステップS10までの処理が、出力画像における画素の行単位で繰り返し行われる。また、入力画像および出力画像のデータが二次元のデータである場合には、ステップS1からステップS4の処理は、画像の行方向と列方向の両方について行われる。次に、精度Aが式(10)を満たすことにより、出力画像の画質の低下が防止される原理を説明する。
3.原理
図5は、本実施形態に係る画質低下防止の原理を説明する図である。以下では、まず、出力画素位置の初期値Iがゼロである場合について説明し、次に初期値Iがゼロでない場合について説明する。また、以下では、端数処理を行わない理想的な(size(in)/size(out))を「真の出力画素間隔」、端数処理を行わない理想的な出力画素位置を「真の出力画素位置」、真の出力画素間隔に対して端数処理を行った値を「出力画素間隔の近似値」、出力画素間隔の近似値を加算することにより算出される出力画素位置を「出力画素位置の近似値」と表現する。
図5は、本実施形態に係る画質低下防止の原理を説明する図である。以下では、まず、出力画素位置の初期値Iがゼロである場合について説明し、次に初期値Iがゼロでない場合について説明する。また、以下では、端数処理を行わない理想的な(size(in)/size(out))を「真の出力画素間隔」、端数処理を行わない理想的な出力画素位置を「真の出力画素位置」、真の出力画素間隔に対して端数処理を行った値を「出力画素間隔の近似値」、出力画素間隔の近似値を加算することにより算出される出力画素位置を「出力画素位置の近似値」と表現する。
3−1.初期値Iがゼロである場合
真の出力画素間隔を約分した値がa/bであるとする。この場合、真の出力画素位置はa/bの整数倍(n×a/b)である。また、サンプリング位置は1/Rの整数倍(m/R)であるため、真の出力画素位置とサンプリング位置との間隔M1は、以下の式(17)より、ゼロであるか、または1/(R×b)以上である。
真の出力画素間隔を約分した値がa/bであるとする。この場合、真の出力画素位置はa/bの整数倍(n×a/b)である。また、サンプリング位置は1/Rの整数倍(m/R)であるため、真の出力画素位置とサンプリング位置との間隔M1は、以下の式(17)より、ゼロであるか、または1/(R×b)以上である。
したがって、出力画素位置の近似値についての丸め誤差がゼロ以上1/(R×b)未満である場合、出力画素位置の近似値に対してサンプリングを行ったときのサンプリング位置と、真の出力画素位置に対してサンプリングを行ったときのサンプリング位置とが同じになる。ここで、b≦Qであることから、真の出力画素位置に対する出力画素位置の近似値の誤差がゼロ以上1/(R×Q)未満であれば、出力画素位置の近似値に対してサンプリングを行ったときのサンプリング位置と、真の出力画素位置に対してサンプリングを行ったときのサンプリング位置とが同じになる。
出力画素間隔の近似値は真の出力画素間隔を1/(R×Q×D)の整数倍に切り上げた値であるため、出力画素間隔の近似値が1回加算されることにより累積する丸め誤差は、ゼロ以上1/(R×Q×D)未満である。出力画像のサイズの最大値はDであるため、出力画素間隔の近似値の加算は最大で(D−1)回行われる。そのため、出力画素間隔の近似値を加算することにより累積する丸め誤差の合計T1の範囲は、式(18)に示す通りである。
ここで、(D−1)/(R×Q×D)は1/(R×Q)未満である。以上より、初期値Iがゼロであり、式(10)を満たす精度Aの固定小数点形式で保持されている出力画素位置の近似値から算出したサンプリング位置と、真の出力画素位置から算出したサンプリング位置とは同じになり、サンプリング位置を算出する際の端数処理により生じる丸め誤差は、サンプリング位置に誤差を生じさせない。
3−2.初期値Iがゼロでない場合
初期値Iがゼロでない場合、出力画素位置の近似値には、初期値Iに対する端数処理により生じる丸め誤差が含まれる。初期値Iに対する端数処理により生じる丸め誤差は、ゼロ以上1/(R×Q×D)未満であることから、出力画素間隔の近似値を加算することにより累積する丸め誤差の合計T2の範囲は、式(19)に示す通りである。
ここで、{(D−1)/(R×Q×D)}+1/(R×Q×D)は、1/(R×Q)以下である。以上より、真の出力画素間隔および初期値Iが共に1/(R×Q×D)の整数倍に切り上げられた場合、出力画素位置の近似値から算出したサンプリング位置と、真の出力画素位置から算出したサンプリング位置とは同じになる。また、真の出力画素間隔および初期値Iが共に1/(R×Q×D)の整数倍に切り下げられ、且つ、サンプリング位置が切り上げられた場合、出力画素位置の近似値から算出したサンプリング位置と、真の出力画素位置から算出したサンプリング位置とは同じになる。したがって、初期値Iがゼロでない場合についても、式(10)を満たす精度Aの固定小数点形式で出力画素位置の近似値が保持されることにより、サンプリング位置を算出する際の端数処理により生じる丸め誤差は、サンプリング位置に誤差を生じさせない。
初期値Iがゼロでない場合、出力画素位置の近似値には、初期値Iに対する端数処理により生じる丸め誤差が含まれる。初期値Iに対する端数処理により生じる丸め誤差は、ゼロ以上1/(R×Q×D)未満であることから、出力画素間隔の近似値を加算することにより累積する丸め誤差の合計T2の範囲は、式(19)に示す通りである。
なお、出力画素位置のサンプリングにおいて、切り上げた値と、初期値Iを一定量ずらして切り下げた値とが常に同じ値になるようにすることができる。また、初期値Iを一定量ずらして四捨五入にすることもできる。このように、サンプリングにおいて、出力画素位置の近似値および真の出力画素位置を切り上げた場合にサンプリング位置が同じになるようにするのか、出力画素位置の近似値および真の出力画素位置を切り下げた場合にサンプリング位置が同じになるようにするのか、それとも、出力画素位置の近似値および真の出力画素位置を四捨五入した場合にサンプリング位置が同じになるようにするのかは、初期値を調整することにより選択される。
真の出力画素間隔a/bを1/(R×Q×D)の整数倍にする場合、切り上げ値および切り下げ値のいずれか一方は必ず分子が偶数になる。上述の通り、真の出力画素間隔a/bを1/(R×Q×D)の整数倍にする場合、切り上げても切り下げてもサンプリング位置の誤差を無くすことができるので、切り上げおよび切り下げのうち分子が偶数になる一方が選択されれば、2/(R×Q×D)の精度であってもサンプリング位置の誤差を無くすことができる。但し、R、Q、Dのすべてが奇数である場合、真の出力画素間隔が1/(R×Q×D)の奇数倍と一致することがある。この場合、真の出力画素間隔を切り上げても切り下げても近似値の誤差は1/(R×Q×D)になり、1/(R×Q×D)未満にはならない。しかし、初期値Iに対する端数処理により生じる丸め誤差が1/(R×Q×D)未満になるように初期値Iを決めることにより、丸め誤差の累積の最大値は1/(R×Q)未満になり、サンプリング位置の誤差を無くすことができる。
4.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
ビット数Bが満たすべき範囲は、実施形態に記載した範囲に限らない。式(10)および式(11)において、Q≦Dであり、q≦dであることから、真の出力画素間隔は、小数部が次式(22)を満たすビット数Bで記憶されてもよい。また、式(20)および式(21)についても同様に、Q≦Dであり、q≦dであることから、真の出力画素間隔は、小数部が次式(23)を満たすビット数Bで記憶されてもよい。
本発明に係る処理は、画像を分割して分散処理が行われる場合に、分割された画像の各々に対して行われてもよい。本発明によれば、画像が分割された位置に関わらず、端数処理により生じる丸め誤差の累積に起因する出力画像の画質の低下が防止される。
出力画素位置の初期値および出力画素間隔に対する端数処理は、切り上げに限らない。出力画素位置の初期値および出力画素間隔に対する端数処理は、切り下げであってもよい。
画像処理回路105の動作は、実施形態に記載した動作に限らない。例えば、画像処理回路105は、ステップS7およびステップS8において、入力画像のデータの中から、ステップS5において算出されたサンプリング位置の整数部により特定される位置にある画素を含む複数の画素から階調値を読み出し、これらの階調値に対してフィルタ演算を行ってもよい。
図3の機能を実現するためのハードウェアは、図1で例示したものに限定されない。例えば、投写ユニット106は、色成分毎に光変調器を有していなくてもよく、単一の光変調器を有していてもよい。また、デジタルミラーデバイス(Digital Mirror Device、DMD)等、液晶パネル以外の電気光学素子が光変調器として用いられてもよい。さらに、表示装置1はプロジェクターに限定されず、液晶ディスプレイや有機ELディスプレイ等、直視の表示装置であってもよい。
1…表示装置、100…CPU、101…ROM、102…RAM、103…記憶部、104…IF部、105…画像処理回路、106…投写ユニット、107…操作パネル、10…画素間隔記憶手段、11…初期値記憶手段、12…現在値記憶手段、13…加算手段、14…サンプリング位置算出手段、15…フィルタ係数記憶手段、16…フィルタ係数選択手段、17…画像データ入力手段、18…フィルタ演算手段、19…画像データ出力手段
Claims (7)
- 入力画像に対する拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数から得られる間隔を、次式(1)を満たす精度Aの固定小数点形式で記憶する記憶手段と、
前記入力画像における画素の位置を示す現在値に、前記記憶手段に記憶されている間隔を加算し、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置を得る加算手段と、
前記加算手段の出力値に対して端数処理を行い、サンプリング位置を算出するサンプリング位置算出手段と、
入力画像のうち前記サンプリング位置算出手段により算出されたサンプリング位置の整数部により特定される位置にある画素を含む1以上の画素の階調値に対して、前記サンプリング位置の小数部により特定される係数を用いた演算を行う演算手段と、
前記演算手段により得られた階調値を、前記出力画像における前記対象画素の階調値として含むデータを出力する出力手段と
を有する画像処理装置。
Rは前記サンプリング位置の分解能の逆数、
Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る値の最大値、
Dは出力画像のサイズの最大値をそれぞれ示す。 - 入力画像に対する拡大処理における拡大率の逆数、または縮小処理における縮小率の逆数から得られる間隔を、次式(9)を満たす精度Aの固定小数点形式で記憶するステップと、
前記入力画像における画素の位置を示す現在値に、前記間隔を加算し、出力画像のうち対象となる対象画素に対応する入力画像の画素の位置を得るステップと、
前記入力画像の画素の位置に対して端数処理を行い、サンプリング位置を算出するステップと、
入力画像のうち前記サンプリング位置の整数部により特定される位置にある画素を含む1以上の画素の階調値に対して、前記サンプリング位置の小数部により特定される係数を用いた演算を行うステップと、
演算後の階調値を、前記出力画像における前記対象画素の階調値として含むデータを出力するステップと
を有する画像処理方法。
Rは前記サンプリング位置の分解能の逆数、
Qは(入力画像のサイズ)/(出力画像のサイズ)を既約分数表示した時に分母が取り得る値の最大値、
Dは出力画像のサイズの最大値をそれぞれ示す。 - 請求項1乃至5のいずれか1項に記載の画像処理装置
を有する表示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015014580A JP2016139980A (ja) | 2015-01-28 | 2015-01-28 | 画像処理装置、画像処理方法および表示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015014580A JP2016139980A (ja) | 2015-01-28 | 2015-01-28 | 画像処理装置、画像処理方法および表示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016139980A true JP2016139980A (ja) | 2016-08-04 |
Family
ID=56559439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015014580A Pending JP2016139980A (ja) | 2015-01-28 | 2015-01-28 | 画像処理装置、画像処理方法および表示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016139980A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020231006A1 (ko) * | 2019-05-16 | 2020-11-19 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
WO2021221250A1 (ko) * | 2020-04-29 | 2021-11-04 | 삼성전자 주식회사 | 영상을 스케일링하는 전자 장치 및 그 동작 방법 |
-
2015
- 2015-01-28 JP JP2015014580A patent/JP2016139980A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020231006A1 (ko) * | 2019-05-16 | 2020-11-19 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
KR20200132306A (ko) * | 2019-05-16 | 2020-11-25 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
KR102266903B1 (ko) * | 2019-05-16 | 2021-06-18 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
WO2021221250A1 (ko) * | 2020-04-29 | 2021-11-04 | 삼성전자 주식회사 | 영상을 스케일링하는 전자 장치 및 그 동작 방법 |
KR20210133802A (ko) * | 2020-04-29 | 2021-11-08 | 삼성전자주식회사 | 영상을 스케일링하는 전자 장치 및 그 동작 방법 |
KR102484386B1 (ko) * | 2020-04-29 | 2023-01-03 | 삼성전자주식회사 | 영상을 스케일링하는 전자 장치 및 그 동작 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7228008B2 (en) | Method for scaling a digital image in an embedded system | |
JP5914045B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US8200020B1 (en) | Robust image alignment using block sums | |
US9983841B2 (en) | Projection type image display apparatus, method, and storage medium in which changes in luminance between an image overlap area and an area outside the image overlap area are less visible | |
JP5703769B2 (ja) | 画像変換装置、画像変換方法、プログラム、および電子機器 | |
JP2016075883A (ja) | 投影システム、投影装置、投影方法、及びプログラム | |
WO2023070862A1 (zh) | 校正广角镜头图像畸变的方法、装置及照相设备 | |
JP2006135805A (ja) | 倍率色収差補正装置、倍率色収差補正方法及び倍率色収差補正プログラム | |
JP2016139980A (ja) | 画像処理装置、画像処理方法および表示装置 | |
US10349024B2 (en) | Image processing device, image processing method, and display device | |
JP2009100407A (ja) | 画像処理装置及びその方法 | |
US8509568B2 (en) | Image processing apparatus and image processing method | |
WO2017154417A1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6278716B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4888120B2 (ja) | 画像データを処理する方法および画像処理装置 | |
JP2010033406A (ja) | 画像処理装置、画像機器、画像処理方法 | |
JP2013026936A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP5387289B2 (ja) | 画像処理装置、画像処理方法およびそのプログラム | |
JP2009049752A (ja) | 映像信号処理装置、映像信号処理方法、及び表示装置 | |
JP2012019315A (ja) | 画像処理装置及び画像処理方法 | |
JP6064699B2 (ja) | 画像処理装置、プロジェクター及び画像処理方法 | |
JP5387288B2 (ja) | 画像処理装置、画像処理方法およびそのプログラム | |
JP5085589B2 (ja) | 画像処理装置および方法 | |
US9008461B2 (en) | Image processing apparatus and image processing method | |
US10672107B2 (en) | Image processing apparatus and method of controlling the same |