本発明の理解を容易にするために、以下では、まず、バイリニア法によるスケーリング処理の概要を説明する。
図1は、バイリニア法によるスケーリング処理を概念的に示す図である。図1では、4/3倍の拡大処理、即ち、入力画像の3×3の画素Pの画素データから、出力画像の4×4画素の画素データを生成するスケーリング処理が図示されている。
バイリニア法によるスケーリング処理においては、出力画像(拡大画像又は縮小画像)の各画素Qの位置を拡大率(縮小率)に応じて決定し、更に、出力画像の各画素Qの画素データ(最も典型的には、赤(R)、緑(G)、青(B)の階調を示すデータ)を、該各画素に最近接する入力画像の4つの画素の画素データの直線補間によって算出する。ここで、画像の拡大を行う場合には、入力画像の最外周の画素Pよりも外側に出力画像の画素の位置が決定されるので、入力画像の最外周の画素Pよりも外側に位置する出力画像の画素Qの画素データは、入力画像の最外周の画素Pをコピーした(即ち、同一の画素データを有する)コピー画素を仮想的に設定し、最外周の画素Pとコピー画素の画素データに対して直線補間を行うことで決定される。
図2は、バイリニア法における出力画像の注目画素Qの画素データの決定方法を詳細に説明する図である。注目画素Qの画素データは、該注目画素Qに最近接する入力画像の4つの画素A、B、C、Dの画素データから算出される。より具体的には、画素A、Bに対して横方向の直線補間を行うことで画素R1の画素データが算出され、画素C、Dに対して横方向の直線補間を行うことで、画素R2の画素データが算出される。ここで、画素R1は、注目画素Qと横方向(図2におけるx方向)の位置が同一で、且つ、画素A、Bと縦方向の位置が同一である仮想的な画素であり、画素R2は、注目画素Qと横方向の位置が同一で、且つ、画素C、Dと縦方向の位置が同一である仮想的な画素である。注目画素Qの画素データは、画素R1、R2に対して縦方向の直線補間を行うことで決定される。
注目画素Qの画素データの算出においては、4つの補間係数t、1−t、s、1−sが用いられる。より具体的には、横方向の補間により得られる画素R1、R2の画素データ及び注目画素Qの画素データは、下記式で表される:
R1=t・A+(1−t)・B ・・・(1a)
R2=t・C+(1−t)・D ・・・(1b)
Q=s×R1+(1−s)・R2 ・・・(1c)
図2の例では、t、1−tが、横方向の補間演算に用いられる補間係数であり、s、1−sが縦方向の補間演算に用いられる補間係数である。
なお、図2では、横方向の直線補間の後に縦方向の直線補間が行われているが、順序は逆でもよい。また、実際の実装においては、横方向の直線補間と縦方向の直線補間とが同時に行われる演算が行われてもよい。また、画素データがRGB形式を有している場合、画素データの演算は、色毎に行われる。
図1を再度に参照して、M/N倍のスケーリング処理の処理単位は、出力画像のM×Mの画素Qの画素データを生成する処理である。ここで、M、Nは、M/Nが既約分数となるように選択された正の整数である。例えば、4/3倍のスケーリング処理を示す図1において、領域U1に囲まれている出力画像の4×4個の画素Qは、ある処理単位において画素データが処理される画素Qである。バイリニア法では、補間を行うために出力画像のM×Mの画素Qの外側に位置する入力画像の画素Pの画素データ必要であるから、出力画像のM×Mの画素Qの画素データの生成には、入力画像の(N+2)×(N+2)画素の画素データが必要である。
図3は、4/3倍のスケーリング処理の一の処理単位に対応する出力画像の4×4個の画素Q、及び、4×4個の画素Qの画素データの生成に用いられる入力画像の5×5個の画素Pを図示している。4/3倍のスケーリング処理の場合には、入力画像の5×5画素の画素データから、出力画像の4×4個の画素Qの画素データが生成されることになる。
出力画像のM×M個の画素Qの画素データの算出においては、M×M個の画素Qのそれぞれについて、一組の補間係数(t、1−t、s、1−s)が必要であるから、最も単純には、M×M組の補間係数が必要となることになる。一つの手法としては、例えば特許文献1に開示されている技術と同様に、M×M組の補間係数を何らかの記憶部(ROM等)に記憶させることが考えられる。しかしながら、この手法では、記憶部の回路規模が大きくなってしまう。他の手法としては、例えば特許文献4に開示されているように、補間係数を逐次に計算することが考えられる。しかしながら、補間係数を逐次に計算する構成は、演算量や回路規模の観点で不利である。以下に述べられる本実施形態のスケーリング処理では、スケーリング処理を行う回路部への補間係数の供給に用いられるハードウェア資源を低減するための手法が採用される。
発明者が注目したことは、バイリニア法によるM/N倍のスケーリング処理の各処理単位において、入力画像と出力画像の画素の配置に対称性が存在することである。図4は、入力画像と出力画像の画素の配置の対称性を示す図である。図4においては、4/3倍のスケーリング処理が行われる場合の入力画像と出力画像の画素の配置の対称性、即ち、入力画像の5×5画素及び出力画像の4×4画素の配置の対称性を示す図である。
以下の議論においては、入力画像の5×5画素が配置される領域に4つのエリア:左上エリア、右上エリア、左下エリア、右下エリアを規定する。これらの4つのエリアは、入力画像の5×5画素が配置される領域を、直線V、Hによって分割することで規定されている。ここで、直線Hは、x方向に延伸し、且つ、入力画像の5×5画素が配置される領域の中心を通過する直線であり、直線Vは、y方向に延伸し、且つ、入力画像の5×5画素が配置される領域の中心を通過する直線である。より具体的には、左上エリアは、入力画像の画素P(0,0)、P(0,2)、P(2,0)、P(2,2)を頂点とする矩形のエリアであり、右上エリアは、入力画像の画素P(0,2)、P(0,4)、P(2,2)、P(2,4)を頂点とする矩形のエリアである。また、左下エリアは、入力画像の画素P(2,0)、P(2,2)、P(4,0)、P(4,2)を頂点とする矩形のエリアであり、右下エリアは、入力画像の画素P(2,2)、P(2,4)、P(4,2)、P(4,4)を頂点とする矩形のエリアである。ここで、画素P(i,j)は、入力画像の5×5の画素のうち、i行j列に位置する画素である。
注目すべきことは、右上エリア、左下エリア、右下エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置と線対称、又は、点対称である点である。詳細には、右上エリアにおける入力画像と出力画像の画素の配置と左上エリアにおける入力画像と出力画像の画素の配置とは、直線Vを対称軸とする線対称である。即ち、右上エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を左右反転する(即ち、直線Vに対して反転する)ことで得られる。即ち、図4の右上図に示されているように、右上エリアにおける入力画像と出力画像の画素の配置を左右反転した配置は、左上エリアにおける入力画像と出力画像の画素の配置に一致している。
また、左下エリアにおける入力画像と出力画像の画素の配置と左上エリアにおける入力画像と出力画像の画素の配置とは、直線Hを対称軸とする線対称である。即ち、左下エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を上下反転する(即ち、直線Hに対して反転する)ことで得られる。即ち、図4の左下図に示されているように、左下エリアにおける入力画像と出力画像の画素の配置を上下反転した配置は、左上エリアにおける入力画像と出力画像の画素の配置に一致している。
更に、右下エリアにおける入力画像と出力画像の画素の配置と左上エリアにおける入力画像と出力画像の画素の配置とは、特定の点(この具体例では、画素P(2,2))を対称の中心とする点対称である。即ち、右下エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を上下左右反転する(即ち、直線Vに対して反転し、更に、直線Hに対して反転する)ことで得られる。即ち、図4の右下図に示されているように、右下エリアにおける入力画像と出力画像の画素の配置を上下左右反転した配置は、左上エリアにおける入力画像と出力画像の画素の配置に一致している。
このような対称性を利用すれば、スケーリング処理を行う回路部に供給する補間係数の組の数を低減することができる。まず、図5は、左上エリアに位置する出力画像の画素Q(0,0)、Q(0,1)、Q(1,0)、Q(1,1)の画素データの算出方法を示す図である。出力画像の画素Q(0,0)の画素データは、入力画像の画素P(0,0)、P(0,1)、P(1,0)、P(1,1)の画素データの直線補間で得られる。この直線補間では、横方向の補間演算についての補間係数、縦方向の補間演算についての補間係数のいずれについても、s、1−sが用いられる。また、出力画像の画素Q(0,1)の画素データは、入力画像の画素P(0,1)、P(0,2)、P(1,1)、P(1,2)の画素データの直線補間で得られる。この直線補間では、横方向の補間演算についての補間係数としてt、1−tが用いられ、縦方向の補間演算についての補間係数としてはs、1−sが用いられる。
更に、出力画像の画素Q(1,0)の画素データは、入力画像の画素P(1,0)、P(1,1)、P(2,0)、P(2,1)の画素データの直線補間で得られる。この直線補間では、横方向の補間演算についての補間係数としてs、1−sが用いられ、縦方向の補間演算についての補間係数としてはt、1−tが用いられる。出力画像の画素Q(1,1)の画素データは、入力画像の画素P(1,1)、P(1,2)、P(2,1)、P(2,2)の画素データの直線補間で得られる。この直線補間では、横方向の補間演算についての補間係数、縦方向の補間演算についての補間係数のいずれについても、t、1−tが用いられる。
右上エリア、左下エリア、右下エリアにおける出力画像の画素の画素データの算出は、入力画像と出力画像の画素の配置を、それぞれ、左右反転、上下反転、上下左右反転した上で左上エリアにおける出力画像の画素の画素データの算出と同一の演算を行うことで実行できる。ここで、入力画像と出力画像の画素の配置の反転は、画素データ及び/又は補間係数の並び替えによって実現可能である。よって、図5に図示されている演算(即ち、左上エリアの出力画像の画素の画素データの算出)を実行するスケーリング演算部を用意すると共に、当該スケーリング演算部への入力画像の4画素の画素データ及び補間係数の供給において画素データ及び/又は補間係数の並び替えを行うことで、右上エリア、左下エリア、右下エリアについての出力画像の画素の画素データを算出できる。このような手法は、スケーリング処理を行う回路部に供給される補間係数の組の数を低減することを可能にする。画素データ及び/又は補間係数の並び替えは、例えば、セレクタやマルチプレクサのような選択機能を有する並び替え回路で行うことができる。以下では、画素データ及び/又は補間係数の並び替えを行うことでスケーリング演算部に供給される補間係数の組の数を低減するための画像処理回路の構成を説明する。
図6は、本実施形態のスケーリング処理を行う画像処理回路10の構成の例を示す回路図である。画像処理回路10は、図2に図示されているように配置されている入力画像の4つの画素A、B、C、Dの画素データから、出力画像の注目画素Qの画素データを算出するように構成されている。なお、以下においては、入力画像の4つの画素A、B、C、Dの画素データについても、記号“A”、“B”、“C”、“D”と参照し、出力画像の注目画素Qの画素データについても記号Qで参照することがある。
画像処理回路10は、画素データ並び替え回路11と、補間係数保持部12と、補間係数並び替え回路13と、スケーリング演算部14とを備えている。
画素データ並び替え回路11は、入力画像の4つの画素の画素データA、B、C、Dを受け取り、適正な順序に並び替えてスケーリング演算部14の画素データ入力a、b、c、dに出力する。この並び替えは、出力画像の注目画素Qの座標(x,y)に応じて行われる。ここで座標xは、注目画素Qの、出力画像の横方向における位置を画素数で示しており、座標yは、注目画素Qの、出力画像の縦方向における位置を画素数で示している。
図7Aは、本実施形態における画素データ並び替え回路11の動作を示す真理値表である。図7Aの真理値表では、例えば、座標(x,y)について(y/2)%2=0、(x/2)%2=0が成立する場合、画素データ入力a、b、c、dには、それぞれ、画素データA、B、C、Dが入力されることが図示されている。ここで、演算子“/”は除算を示しており、演算子“%”は、剰余を求める演算(modulo)を示している。(y/2)%2、(x/2)%2が異なる値をとる場合の動作も同様にして理解されよう。
図6に戻り、補間係数保持部12は、補間係数s,tを保持しており、保持している補間係数s,tを補間係数並び替え回路13に供給する。ここで、補間係数保持部12は、左上エリアに位置する出力画像の画素の画素データに必要な補間係数s,tのみを保持している。
補間係数並び替え回路13は、補間係数s,tから補間係数1−s、1−tを算出すると共に、補間係数s,1−s、t、1−tのうちから選択された補間係数をスケーリング演算部14の補間係数入力q1〜q6のそれぞれに出力する。ここで、補間係数入力q1〜q4は、横方向の補間についての補間係数を受け取る入力であり、補間係数入力q5、q6は、縦方向の補間についての補間係数を受け取る入力である。なお、補間係数入力q1、q3に入力される補間係数は同一値であり、補間係数入力q2、q4に入力される補間係数は同一値である。補間係数入力q1〜q6のそれぞれに出力する補間係数の選択は、出力画像の注目画素Qの座標(x,y)に応じて行われる。
図7Bは、本実施形態における補間係数並び替え回路13の動作を示す真理値表である。図7Bの真理値表では、例えば、座標(x,y)についてy%2=0、x%2=0が成立する場合、補間係数入力q1〜q6に、それぞれ、補間係数s、1−s、s、1−s、s、1−sが入力されることが図示されている。y%2、x%2が異なる値をとる場合の動作も同様にして理解されよう。
図6に戻り、スケーリング演算部14は、画素データ入力a、b、c、dで受け取った4画素の画素データに対し、補間係数入力q1〜q6で受け取った補間係数を用いてスケーリング処理を行い、出力画像の注目画素の画素データQを算出する。詳細には、スケーリング演算部14は、積和演算を行う積和演算回路として構成されており、乗算器21〜24と、加算器25、26と、乗算器27、28と、加算器29とを備えている。
乗算器21は、画素データ入力aで受け取った画素データと補間係数入力q1で受け取った補間係数との積を出力し、乗算器22は、画素データ入力bで受け取った画素データと補間係数入力q2で受け取った補間係数との積を出力する。同様に、乗算器23は、画素データ入力cで受け取った画素データと補間係数入力q3で受け取った補間係数との積を出力し、乗算器24は、画素データ入力dで受け取った画素データと補間係数入力q4で受け取った補間係数との積を出力する。
加算器25は、乗算器21の出力と乗算器22の出力の和を出力し、加算器26は、乗算器23の出力と乗算器24の出力の和を出力する。
乗算器27は、加算器25の出力と補間係数入力q5で受け取った補間係数との積を出力し、乗算器28は、加算器26の出力と補間係数入力q6で受け取った補間係数との積を出力する。
加算器29は、乗算器27の出力と乗算器28の出力との和を出力する。本実施形態の画像処理回路10では、加算器29の出力が、出力画像の注目画素Qの画素データとして用いられる。
なお、画像処理回路10の実際の実装においては、補間係数s、1−sは、2進数で表現されるので、補間係数sから補間係数1−sを得る演算は、実際には、所定値から補間係数sを減じる演算として実装され得ることに留意されたい。同様に、補間係数tから補間係数1−tを得る演算は、該所定値から補間係数tを減じる演算として実装され得る。
図8A〜図8Dは、本実施形態における画像処理回路10の動作を示すタイミングチャートである。以下では、左上エリア、右上エリア、左下エリア、右下エリアのそれぞれにおける出力画像の画素の画素データの算出について説明する。
(左上エリア、右上エリアにおける出力画像の画素の画素データの算出)
図8A、図8Bは、左上エリア、右上エリアの出力画像の画素Qの画素データの算出方法を示すタイミングチャートである。
図8Aは、y=0の場合、即ち、出力画像の画素Q(0,0)、Q(0,1)、Q(0,2)、Q(0,3)・・・の画素データの算出における画像処理回路10の動作を示している。y=0、x=0の場合、出力画像の画素Q(0,0)の画素データが算出される。出力画像の画素Q(0,0)の画素データは、図4から理解されるように、入力画像の画素P(0,0)、P(0,1)、P(1,0)、P(1,1)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(0,0)、P(0,1)、P(1,0)、P(1,1)の画素データが供給される。出力画像の画素Q(0,0)は、図4から理解されるように左上エリアに位置しており、入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データA、B、C、D、即ち、入力画像の画素P(0,0)、P(0,1)、P(1,0)、P(1,1)の画素データを供給する。
一方、補間係数並び替え回路13は、横方向の補間についての補間係数を補間係数入力q1〜q4に供給し、縦方向の補間についての補間係数を補間係数入力q5、q6に供給する。即ち、補間係数入力q1、q2、q3、q4には、それぞれ、補間係数s、1−s、s、1−sが供給され、また、補間係数入力q5、q6には、補間係数s、1−sが供給される。出力画像の画素Q(0,0)の画素データの算出において、横方向の補間演算についての補間係数がs、1−sであり、縦方向の補間演算についての補間係数がs、1−sであることは、図5から容易に理解されよう。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(0,0)の画素データを算出する。画素Q(0,0)の画素データは、下記式のように算出される:
Q(0,0)=s・(s・P(0,0)+(1−s)・P(0,1))+
(1−s)・(s・P(1,0)+(1−s)・P(1,1))
ここで、記号“・”は、乗算を意味している。
y=0、x=1の場合、出力画像の画素Q(0,1)の画素データが算出される。画素Q(0,1)の画素データは、入力画像の画素P(0,1)、P(0,2)、P(1,1)、P(1,2)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(0,1)、P(0,2)、P(1,1)、P(1,2)の画素データが供給される。
出力画像の画素Q(0,1)も左上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データA、B、C、D、即ち、入力画像の画素P(0,1)、P(0,2)、P(1,1)、P(1,2)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(0,1)の画素データを算出する。画素Q(0,1)の画素データは、下記式のように算出される:
Q(0,1)=s・(t・P(0,1)+(1−t)・P(0,2))+
(1−s)・(t・P(1,1)+(1−t)・P(1,2))
y=0、x=2の場合、出力画像の画素Q(0,2)の画素データが算出される。画素Q(0,2)の画素データは、入力画像の画素P(0,2)、P(0,3)、P(1,2)、P(1,3)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(0,2)、P(0,3)、P(1,2)、P(1,3)の画素データが供給される。
出力画像の画素Q(0,2)は、図4から理解されるように右上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データ、B、A、D、C、即ち、入力画像の画素P(0,3)、P(0,2)、P(1,3)、P(1,2)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(0,2)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(0,2)と直線Vに対して線対称の位置にある画素Q(0,1)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(0,2)の画素データを算出する。画素Q(0,2)の画素データは、下記式のように算出される:
Q(0,2)=s・(t・P(0,3)+(1−t)・P(0,2))+
(1−s)・(t・P(1,3)+(1−t)・P(1,2))
y=0、x=3の場合、出力画像の画素Q(0,3)の画素データが算出される。画素Q(0,3)の画素データは、入力画像の画素P(0,3)、P(0,4)、P(1,3)、P(1,4)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(0,3)、P(0,4)、P(1,3)、P(1,4)の画素データが供給される。
出力画像の画素Q(0,3)も右上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データ、B、A、D、C、即ち、入力画像の画素P(0,4)、P(0,3)、P(1,4)、P(1,3)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(0,3)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(0,3)と直線Vに対して線対称の位置にある画素Q(0,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(0,3)の画素データを算出する。画素Q(0,3)の画素データは、下記式のように算出される:
Q(0,3)=s・(s・P(0,4)+(1−s)・P(0,3))+
(1−s)・(s・P(1,4)+(1−s)・P(1,3))
y座標が0である出力画像の他の画素Qについても、画素Q(0、0)〜Q(0、3)と同様にして画素データが算出される。画素Q(0、4i)、Q(0,4i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(0,0)、Q(0,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の反転が行われないとして算出される。また、画素Q(0、4i+2)、Q(0,4i+3)(iは、1以上の整数)の画素データは、それぞれ、画素Q(0,2)、Q(0,3)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われるとして算出される。
図8Bは、y=1の場合、即ち、出力画像の画素Q(1,0)、Q(1,1)、Q(1,2)、Q(1,3)・・・の画素データの算出における画像処理回路10の動作を示している。y=1の場合の出力画像の画素Qの画素データの算出は、y=0の場合の出力画像の画素Qの画素データの算出と同様である。
詳細には、y=1、x=0の場合、出力画像の画素Q(1,0)の画素データが算出される。出力画像の画素Q(1,0)の画素データは、図4から理解されるように、入力画像の画素P(1,0)、P(1,1)、P(2,0)、P(2,1)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(1,0)、P(1,1)、P(2,0)、P(2,1)の画素データが供給される。
出力画像の画素Q(1,0)は、図4から理解されるように左上エリアに位置しており、入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データA、B、C、D、即ち、入力画像の画素P(1,0)、P(1,1)、P(2,0)、P(2,1)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(1,0)の画素データを算出する。画素Q(1,0)の画素データは、下記式のように算出される:
Q(1,0)=t・(s・P(1,0)+(1−s)・P(1,1))+
(1−t)・(s・P(2,0)+(1−s)・P(2,1))
y=1、x=1の場合、出力画像の画素Q(1,1)の画素データが算出される。画素Q(1,1)の画素データは、入力画像の画素P(1,1)、P(1,2)、P(2,1)、P(2,2)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(1,1)、P(1,2)、P(2,1)、P(2,2)の画素データが供給される。
出力画像の画素Q(1,1)も左上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データA、B、C、D、即ち、入力画像の画素P(1,1)、P(1,2)、P(2,1)、P(2,2)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(1,1)の画素データを算出する。画素Q(1,1)の画素データは、下記式のように算出される:
Q(1,1)=t・(t・P(1,1)+(1−t)・P(1,2))+
(1−t)・(t・P(2,1)+(1−t)・P(2,2))
y=1、x=2の場合、出力画像の画素Q(1,2)の画素データが算出される。画素Q(1,2)の画素データは、入力画像の画素P(1,2)、P(1,3)、P(2,2)、P(2,3)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(1,2)、P(1,3)、P(2,2)、P(2,3)の画素データが供給される。
出力画像の画素Q(1,2)は、図4から理解されるように右上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データ、B、A、D、C、即ち、入力画像の画素P(1,3)、P(1,2)、P(2,3)、P(2,2)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを供給し、また、補間係数入力q5、q6に、補間係数t、1−tを供給する。出力画像の画素Q(1,2)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(1,2)と直線Vに対して線対称の位置にある画素Q(1,1)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(1,2)の画素データを算出する。画素Q(1,2)の画素データは、下記式のように算出される:
Q(1,2)=t・(t・P(1,3)+(1−t)・P(1,2))+
(1−t)・(t・P(2,3)+(1−t)・P(2,2))
y=1、x=3の場合、出力画像の画素Q(1,3)の画素データが算出される。画素Q(1,3)の画素データは、入力画像の画素P(1,3)、画素P(1,4)、画素P(2,3)、画素P(2,4)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(1,3)、画素P(1,4)、画素P(2,3)、画素P(2,4)の画素データが供給される。
出力画像の画素Q(1,3)も右上エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データ、B、A、D、C、即ち、入力画像の画素P(1,4)、P(1,3)、P(2,4)、P(2,3)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(1,3)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(1,3)と直線Vに対して線対称の位置にある画素Q(1,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(1,3)の画素データを算出する。画素Q(1,3)の画素データは、下記式のように算出される:
Q(1,3)=t・(s・P(1,4)+(1−s)・P(1,3))+
(1−t)・(s・P(2,4)+(1−s)・P(2,3))
y座標が1である出力画像の他の画素Qについても、画素Q(1、0)〜Q(1、3)と同様にして画素データが算出される。画素Q(1、4i)、Q(1,4i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(1,0)、Q(1,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の反転が行われないとして算出される。また、画素Q(1、4i+2)、Q(1,4i+3)(iは、1以上の整数)の画素データは、それぞれ、画素Q(1,2)、Q(1,3)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われるとして算出される。
(左下エリア、右下エリアにおける出力画像の画素の画素データの算出)
図8C、図8Dは、左下エリア、右下エリアの出力画像の画素Qの画素データの算出方法を示すタイミングチャートである。
図8Cは、y=2の場合、即ち、出力画像の画素Q(2,0)、Q(2,1)、Q(2,2)、Q(2,3)・・・の画素データの算出における画像処理回路10の動作を示している。
y=2、x=0の場合、出力画像の画素Q(2,0)の画素データが算出される。出力画像の画素Q(2,0)の画素データは、図4から理解されるように、入力画像の画素P(2,0)、P(2,1)、P(3,0)、P(3,1)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(2,0)、P(2,1)、P(3,0)、P(3,1)の画素データが供給される。
出力画像の画素Q(2,0)は、図4から理解されるように左下エリアに位置しており、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データC、D、A、B、即ち、入力画像の画素P(3,0)、P(3,1)、P(2,0)、P(2,1)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(2,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(2,0)と直線Hに対して線対称の位置にある画素Q(1,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(2,0)の画素データを算出する。画素Q(2,0)の画素データは、下記式のように算出される:
Q(2,0)=t・(s・P(3,0)+(1−s)・P(3,1))+
(1−t)・(s・P(2,0)+(1−s)・P(2,1))
y=2、x=1の場合、出力画像の画素Q(2,1)の画素データが算出される。画素Q(2,1)の画素データは、入力画像の画素P(2,1)、P(2,2)、P(3,1)、P(3,2)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(2,1)、P(2,2)、P(3,1)、P(3,2)の画素データが供給される。
出力画像の画素Q(2,1)も左下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データC、D、A、B、即ち、入力画像の画素P(3,1)、P(3,2)、P(2,1)、P(2,2)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(2,1)の画素データを算出する。画素Q(2,1)の画素データは、下記式のように算出される:
Q(2,1)=t・(t・P(3,1)+(1−t)・P(3,2))+
(1−t)・(t・P(2,1)+(1−t)・P(2,2))
y=2、x=2の場合、出力画像の画素Q(2,2)の画素データが算出される。画素Q(2,2)の画素データは、入力画像の画素P(2,2)、P(2,3)、P(3,2)、P(3,3)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(2,2)、P(2,3)、P(3,2)、P(3,3)の画素データが供給される。
出力画像の画素Q(2,2)は、図4から理解されるように右下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下左右反転(180°回転)が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データD、C、B、A、即ち、入力画像の画素P(3,3)、P(3,2)、P(2,3)、P(2,2)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを供給し、また、補間係数入力q5、q6に、補間係数t、1−tを供給する。出力画像の画素Q(2,2)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(2,2)と点対称の位置にある画素Q(1,1)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(2,2)の画素データを算出する。画素Q(2,2)の画素データは、下記式のように算出される:
Q(2,2)=t・(t・P(3,3)+(1−t)・P(3,2))+
(1−t)・(t・P(2,3)+(1−t)・P(2,2))
y=2、x=3の場合、出力画像の画素Q(2,3)の画素データが算出される。画素Q(2,3)の画素データは、入力画像の画素P(2,3)、P(2,4)、P(3,3)、P(3,4)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(2,3)、P(2,4)、P(3,3)、P(3,4)の画素データが供給される。
出力画像の画素Q(2,3)も右下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データD、C、B、A、即ち、入力画像の画素P(3,4)、P(3,3)、P(2,4)、P(2,3)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(2,3)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(2,3)と点対称の位置にある画素Q(1,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(2,3)の画素データを算出する。画素Q(2,3)の画素データは、下記式のように算出される:
Q(2,3)=t・(s・P(3,4)+(1−s)・P(3,3))+
(1−t)・(s・P(2,4)+(1−s)・P(2,3))
y座標が2である出力画像の他の画素Qについても、画素Q(2、0)〜Q(2、3)と同様にして画素データが算出される。画素Q(2、4i)、Q(2,4i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(2,0)、Q(2,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われるとして算出される。また、画素Q(2、4i+2)、Q(2,4i+3)(iは、1以上の整数)の画素データは、それぞれ、画素Q(2,2)、Q(2,3)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われるとして算出される。
図8Dは、y=3の場合、即ち、出力画像の画素Q(3,0)、Q(3,1)、Q(3,2)、Q(3,3)・・・の画素データの算出における画像処理回路10の動作を示している。y=3の場合の出力画像の画素Qの画素データの算出は、y=2の場合の出力画像の画素Qの画素データの算出と同様である。
y=3、x=0の場合、出力画像の画素Q(3,0)の画素データが算出される。出力画像の画素Q(3,0)の画素データは、図4から理解されるように、入力画像の画素P(3,0)、P(3,1)、P(4,0)、P(4,1)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(3,0)、P(3,1)、P(4,0)、P(4,1)の画素データが供給される。
出力画像の画素Q(3,0)は、図4から理解されるように左下エリアに位置しており、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データC、D、A、B、即ち、入力画像の画素P(4,0)、P(4,1)、P(3,0)、P(3,1)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(3,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(3,0)と直線Hに対して線対称の位置にある画素Q(0,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(3,0)の画素データを算出する。画素Q(3,0)の画素データは、下記式のように算出される:
Q(3,0)=s・(s・P(4,0)+(1−s)・P(4,1))+
(1−s)・(s・P(3,0)+(1−s)・P(3,1))
y=3、x=1の場合、出力画像の画素Q(3,1)の画素データが算出される。画素Q(3,1)の画素データは、入力画像の画素P(3,1)、P(3,2)、P(4,1)、P(4,2)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(3,1)、P(3,2)、P(4,1)、P(4,2)の画素データが供給される。
出力画像の画素Q(3,1)も左下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データC、D、A、B、即ち、入力画像の画素P(4,1)、P(4,2)、P(3,1)、P(3,2)の画素データを供給する。一方、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、それぞれ補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(3,1)の画素データを算出する。画素Q(3,1)の画素データは、下記式のように算出される:
Q(3,1)=s・(t・P(4,1)+(1−t)・P(4,2))+
(1−s)・(t・P(3,1)+(1−t)・P(3,2))
y=3、x=2の場合、出力画像の画素Q(3,2)の画素データが算出される。画素Q(3,2)の画素データは、入力画像の画素P(3,2)、P(3,3)、P(4,2)、P(4,3)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(3,2)、P(3,3)、P(4,2)、P(4,3)の画素データが供給される。
出力画像の画素Q(3,2)は、図4から理解されるように右下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下左右反転(180°回転)が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データD、C、B、A、即ち、入力画像の画素P(4,3)、P(4,2)、P(3,3)、P(3,2)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数t、1−t、t、1−tを供給し、また、補間係数入力q5、q6に、補間係数s、1−sを供給する。出力画像の画素Q(3,2)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(3,2)と点対称の位置にある画素Q(0,1)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。
スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(3,2)の画素データを算出する。画素Q(3,2)の画素データは、下記式のように算出される:
Q(3,2)=s・(t・P(4,3)+(1−t)・P(4,2))+
(1−s)・(t・P(3,3)+(1−t)・P(3,2))
y=3、x=3の場合、出力画像の画素Q(3,3)の画素データが算出される。画素Q(3,3)の画素データは、入力画像の画素P(3,3)、P(3,4)、P(4,3)、P(4,4)の画素データから算出される。即ち、画素データA、B、C、Dとして、画素P(3,3)、P(3,4)、P(4,3)、P(4,4)の画素データが供給される。
出力画像の画素Q(3,3)も右下エリアに位置しているので、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われる。このため、画素データ並び替え回路11は、画素データ入力a、b、c、dに、それぞれ、画素データD、C、B、A、即ち、入力画像の画素P(4,4)、P(4,3)、P(3,4)、P(3,3)の画素データを供給する。一方、補間係数並び替え回路13は、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われたとして補間係数を補間係数入力q1〜q6に供給する。即ち、補間係数並び替え回路13は、補間係数入力q1、q2、q3、q4に、それぞれ、補間係数s、1−s、s、1−sを横方向の補間演算についての補間係数として供給し、また、補間係数入力q5、q6に、補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。出力画像の画素Q(3,3)の画素データの算出において補間係数入力q1〜q6に供給される補間係数は、出力画像の画素Q(3,3)と点対称の位置にある画素Q(0,0)の画素データの算出において補間係数入力q1〜q6に供給される補間係数と同一であることに留意されたい。スケーリング演算部14は、画素データ入力a、b、c、dに供給された画素データと補間係数入力q1〜q6に供給された補間係数から出力画像の画素Q(3,3)の画素データを算出する。画素Q(3,3)の画素データは、下記式のように算出される:
Q(3,3)=s・(s・P(4,4)+(1−s)・P(4,3))+
(1−s)・(s・P(3,4)+(1−s)・P(3,3))
y座標が3である出力画像の他の画素Qについても、画素Q(3、0)〜Q(3、3)と同様にして画素データが算出される。画素Q(3、4i)、Q(3,4i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(3,0)、Q(3,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われるとして算出される。また、画素Q(3、4i+2)、Q(3,4i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(3,2)、Q(3,3)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われるとして算出される。
yが4以上である場合も同様にして出力画像の画素Qの画素データが算出される。y=4j(jは、1以上の整数)の場合には、y=0の場合と同様にして出力画像の画素Qの画素データが算出され、y=4j+1の場合には、y=1の場合と同様にして出力画像の画素Qの画素データが算出される。y=4j+2の場合には、y=2の場合と同様にして出力画像の画素Qの画素データが算出され、y=4j+3の場合には、y=3の場合と同様にして出力画像の画素Qの画素データが算出される。
なお、M、Nが他の値である場合についても、画素データ並び替え回路11における画素データの並び替え及び補間係数並び替え回路13における補正係数の並び替えを適宜に変更することにより、図6に図示された構成の画像処理回路10によって出力画像の画素Qの画素データを算出することが可能である。
ただし、スケーリング処理の処理単位となる出力画像のM×M個の画素の画素データの算出に用いられる入力画像の(N+2)×(N+2)個の画素が配置される領域に規定される4つのエリアについては、下記の議論も参照されたい。M/N倍のスケーリング処理においてMが偶数である場合には、上述されているように、処理単位となる出力画像のM×M個の画素の画素データの算出に用いられる入力画像の(N+2)×(N+2)個の画素が配置される領域を4つに分割することで画素の配置に対称性がある4つのエリア:左上エリア、右上エリア、左下エリア、右下エリアを規定できる(Mが4である例が図示されている図3を参照)。ここで、当該4つのエリアは、互いに重ならないように規定されている。
一方、Mが奇数である場合については、入力画像の(N+2)×(N+2)個の画素が配置される領域を(互いに重ならない)4つのエリアに分割しても、画素の配置に対称性がある4つのエリアを規定できない。しかしながら、以下に議論するように、Mが奇数である場合でも、当該4つのエリアが互いに重なることを許容することで、入力画像の画素と出力画像の画素の配置について互いに対称性がある4つのエリアを規定することができる。
図9は、3/2倍のスケーリング処理を概念的に示す図であり、図10は、3/2倍のスケーリング処理における一の処理単位に対応する入力画像の4×4個の画素P及び出力画像の3×3個の画素Qの配置を図示している。3/2倍のスケーリング処理においては、入力画像の4×4画素が配置される領域に4つのエリア:左上エリア、右上エリア、左下エリア、右下エリアが規定される。ここで、当該4つのエリアは、互いに重なるように規定されている。より具体的には、左上エリアは、入力画像の画素P(0,0)、P(0,2)、P(2,0)、P(2,2)を頂点とする矩形のエリアと規定され、右上エリアは、入力画像の画素P(0,1)、P(0,3)、P(2,1)、P(2,3)を頂点とする矩形のエリアと規定される。また、左下エリアは、入力画像の画素P(1,0)、P(1,2)、P(3,0)、P(3,2)を頂点とする矩形のエリアと規定され、右下エリアは、入力画像の画素P(1,1)、P(1,3)、P(3,1)、P(3,3)を頂点とする矩形のエリアと規定される。左上エリア、右上エリア、左下エリア、右下エリアがこのように規定される場合、右上エリア、左下エリア、右下エリアは、いずれも、左上エリアに部分的に重なっていることに留意されたい。
左上エリア、右上エリア、左下エリア、右下エリアをこのように規定することで、右上エリア、左下エリア、右下エリアにおける入力画像と出力画像の画素の配置を、左上エリアにおける入力画像と出力画像の画素の配置と線対称、又は、点対称にすることができる。詳細には、右上エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を左右反転することで得られる。また、左下エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を上下反転することで得られる。更に、右下エリアにおける入力画像と出力画像の画素の配置は、左上エリアにおける入力画像と出力画像の画素の配置を上下左右反転することで得られる。このような対称性を利用すれば、スケーリング演算部に供給する補間係数の組の数を低減することができる。
ここで、2つのエリアが重なっている領域に位置している出力画像の画素Qについては、2つのいエリアのいずれに属するとして演算をおこなってもよい。例えば、画素Q(0,1)は、左上エリア、右上エリアの両方に属している。このとき、画素Q(0,1)が左上エリアに属するとして、入力画像の画素及び出力画像の画素の配置が反転されずに画素Q(0,1)の画素データが算出されてもよい。また、画素Q(0,1)が右上エリアに属するとして、入力画像の画素及び出力画像の画素の配置が左右反転されて画素(0,1)の画素データが算出されてもよい。
以上の議論から理解されるように、Mが奇数である場合についても、画素データ並び替え回路11における画素データの並び替え及び補間係数並び替え回路13における補正係数の並び替えを適宜に変更することにより、図6に図示された構成の画像処理回路10によって出力画像の画素Qの画素データを算出することが可能である。
図6の画像処理回路10は、一の積和演算回路(スケーリング演算部)を有しており、同時に画素データが算出される出力画像の画素の数が一であるような構成を有しているが、複数の積和演算回路を有し、出力画像の複数の画素の画素データを算出するように構成されてもよい。
図11は、出力画像の複数の画素の画素データを同時に算出するように構成された画像処理回路10Aの構成の例を示す回路図である。図11の画像処理回路10Aは、3/2倍のスケーリング処理を行うように構成されている。3/2倍のスケーリング処理は、上記の議論においてMが奇数である場合に相当していることに留意されたい。図11の画像処理回路10Aは、図12に図示されているように配置されている入力画像の8つの画素A、B、C、D、E、F、G、Hの画素データから、同一の水平ラインに位置する(即ち、y座標が同一である)出力画像の3つの注目画素Q1、Q2、Q3の画素データを並列して算出するように構成されている。
画像処理回路10Aは、補間係数保持部12と、補間係数並び替え回路13Aと、スケーリング演算部14Aとを備えている。補間係数保持部12は、補間係数s,tを保持しており、保持している補間係数s,tを補間係数並び替え回路13Aに供給する。ここで、補間係数保持部12は、左上エリアに位置する出力画像の画素の画素データに必要な補間係数s,tのみを保持している。補間係数並び替え回路13Aは、補間係数s,tから補間係数1−s、1−tを算出すると共に、補間係数s,1−s、t、1−tのうちから選択された補間係数をスケーリング演算部14Aの補間係数入力q5、q6のそれぞれに出力する。スケーリング演算部14Aは、受け取った8画素の画素データA、B、C、D、E、F、G、Hに対して補間係数入力q5、q6に入力された補間係数を用いてスケーリング処理を行い、出力画像の注目画素の画素データQ1、Q2、Q3を算出する。
図11の画像処理回路10Aは、スケーリング処理回路の各処理単位においてy座標が同一である出力画像の全画素を並列で処理するように構成されていることに留意されたい。上述のように、3/2倍のスケーリング処理の各処理単位においては、出力画素の3×3個の画素の画素データが算出されるので、図11に図示された画像処理回路10Aは、y座標が同一である出力画像の全画素の画素データを並列で処理することになる。
各処理単位においてy座標が同一である出力画像の全画素を並列で処理する構成においては、入力画像の画素の画素データの並び替えは、画像処理回路10Aに画素データを供給する配線の接続を適切に決定することで実現可能である。このため、図11の画像処理回路10Aには、図6の画像処理回路10とは異なり、入力画像の画素の画素データを並び替える画素データ並び替え回路11は設けられていない。
加えて、各処理単位においてy座標が同一である出力画像の全画素を並列で処理する構成においては、横方向の補間演算についての補間係数が固定される。このため、補間係数並び替え回路13は、縦方向の補間演算についての補間係数のみをスケーリング演算部14Aの補間係数入力q5、q6に供給するように構成されている。
スケーリング演算部14Aは、それぞれがスケーリング処理の補間演算を実行する機能を有する同一構成の3つの積和演算回路141、142、143を備えている。ここで、積和演算回路141、142、143は、それぞれ、出力画像の注目画素の画素データQ1、Q2、Q3を算出する。
積和演算回路141は、乗算器211〜241と、加算器251、261と、乗算器271、281と、加算器291とを備えている。
乗算器211は、画素データ入力a1で受け取った画素データと補間係数sとの積を出力し、乗算器221は、画素データ入力b1で受け取った画素データと補間係数1−sとの積を出力する。同様に、乗算器231は、画素データ入力c1で受け取った画素データと補間係数sとの積を出力し、乗算器241は、画素データ入力d1で受け取った画素データと補間係数1−sとの積を出力する。ここで、乗算器211、221、231、241に供給される補間係数s、1−sは、横方向の補間演算についての補間係数であることに留意されたい。乗算器211、221、231、241に供給される補間係数s、1−sは、補間係数並び替え回路13Aから供給されてもよい。また、補間係数保持部12から補間係数sを受け取り、乗算器211、221、231、241に補間係数s、1−sを供給する回路が補間係数並び替え回路13Aとは別に用意されてもよい。
加算器251は、乗算器211の出力と乗算器221の出力の和を出力し、加算器261は、乗算器231の出力と乗算器241の出力の和を出力する。乗算器271は、加算器251の出力と補間係数入力q5で受け取った補間係数との積を出力し、乗算器281は、加算器26の出力と補間係数入力q6で受け取った補間係数との積を出力する。加算器291は、乗算器271の出力と乗算器281の出力との和を出力する。加算器291の出力が、出力画像の注目画素Q1の画素データである。
同様に、積和演算回路142は、乗算器212〜242と、加算器252、262と、乗算器272、282と、加算器292とを備えている。
乗算器212は、画素データ入力a2で受け取った画素データと補間係数tとの積を出力し、乗算器222は、画素データ入力b2で受け取った画素データと補間係数1−tとの積を出力する。同様に、乗算器232は、画素データ入力c2で受け取った画素データと補間係数tとの積を出力し、乗算器242は、画素データ入力d2で受け取った画素データと補間係数1−tとの積を出力する。ここで、乗算器212、222、232、242に供給される補間係数t、1−tは、横方向の補間演算についての補間係数であることに留意されたい。乗算器212、222、232、242に供給される補間係数t、1−tは、補間係数並び替え回路13Aから供給されてもよい。また、補間係数保持部12から補間係数tを受け取り、乗算器212、222、232、242に補間係数t、1−tを供給する回路が補間係数並び替え回路13Aとは別に用意されてもよい。
加算器252は、乗算器212の出力と乗算器222の出力の和を出力し、加算器262は、乗算器232の出力と乗算器242の出力の和を出力する。乗算器272は、加算器252の出力と補間係数入力q5で受け取った補間係数との積を出力し、乗算器282は、加算器26の出力と補間係数入力q6で受け取った補間係数との積を出力する。加算器292は、乗算器272の出力と乗算器282の出力との和を出力する。加算器292の出力が、出力画像の注目画素Q2の画素データである。
また、積和演算回路143は、乗算器213〜243と、加算器253、263と、乗算器273、283と、加算器293とを備えている。
乗算器213は、画素データ入力a3で受け取った画素データと補間係数sとの積を出力し、乗算器223は、画素データ入力b3で受け取った画素データと補間係数1−sとの積を出力する。同様に、乗算器233は、画素データ入力c3で受け取った画素データと補間係数sとの積を出力し、乗算器243は、画素データ入力d3で受け取った画素データと補間係数1−sとの積を出力する。ここで、乗算器213、223、233、243に供給される補間係数s、1−sは、横方向の補間演算についての補間係数であることに留意されたい。乗算器213、223、233、243に供給される補間係数s、1−sは、補間係数並び替え回路13Aから供給されてもよい。また、補間係数保持部12から補間係数sを受け取り、乗算器213、223、233、243に補間係数s、1−sを供給する回路が補間係数並び替え回路13Aとは別に用意されてもよい。
加算器253は、乗算器213の出力と乗算器223の出力の和を出力し、加算器263は、乗算器233の出力と乗算器243の出力の和を出力する。乗算器273は、加算器253の出力と補間係数入力q5で受け取った補間係数との積を出力し、乗算器283は、加算器26の出力と補間係数入力q6で受け取った補間係数との積を出力する。加算器293は、乗算器273の出力と乗算器283の出力との和を出力する。加算器293の出力が、出力画像の注目画素Q3の画素データである。
ここで、積和演算回路141、142に供給される画素データは、入力画像の画素の配置を反転せずに供給されているのに対し、積和演算回路143に供給される画素データは、入力画像の画素の配置を左右反転して供給されることに留意されたい。即ち、入力画像の画素A〜Hが図12に図示されているように配置されている場合について、積和演算回路141の画素データ入力a1、b1、c1、d1には、それぞれ、画素データA、B、E、Fが供給され、積和演算回路142の画素データ入力a2、b2、c2、d2には、それぞれ、画素データB、C、F、Gが供給される。積和演算回路141、142については、画素データの並び替えは行われていない。一方、積和演算回路143については、画素データ入力a3、b3、c3、d3に、それぞれ、画素データD、C、H、Gが供給される。このように、図11に図示されている構成では、積和演算回路143に画素データを供給する配線によって画素データの並び替えが行われている。
図13は、本実施形態における補間係数並び替え回路13Aの動作を示す真理値表である。図13に図示されているように、注目画素Q1〜Q3のy座標についてy%3=0が成立する場合、補間係数並び替え回路13Aは、それぞれ、補間係数s、1−sを補間係数入力q5、q6に入力する。また、y%3=1が成立する場合、補間係数並び替え回路13Aは、それぞれ補間係数t、1−tを補間係数入力q5、q6に入力し、y%3=2が成立する場合、それぞれ補間係数1−s、sを補間係数入力q5、q6に入力する。ここで、本実施形態では、y%3=0が成立する場合とy%3=2が成立する場合とで補間係数入力q5、q6に供給される補間係数が入れ替えられることで、入力画像の画素と出力画像の画素の配置が上下反転される。
図14A〜図16Bは、本実施形態における画像処理回路10Aの動作を示すタイミングチャートである。
図14A、図14Bは、y=0の場合、即ち、出力画像の画素Q(0,0)、Q(0,1)、Q(0,2)、Q(0,3)、Q(0、4)・・・の画素データの算出における画像処理回路10Aの動作を示している。
詳細には、y座標が0に設定された最初のクロックサイクルでは、出力画像の画素Q(0,0)、Q(0,1)、Q(0,2)の画素データが算出される。出力画像の画素Q(0,0)、Q(0,1)、Q(0,2)の画素データは、図10から理解されるように、入力画像の画素P(0,0)、P(0,1)、P(0,2)、P(0,3)、P(1,0)、P(1,1)、P(1,2)、P(1,3)の画素データから算出される。即ち、画素データA、B、C、D、E、F、G、Hとして、画素P(0,0)、P(0,1)、P(0,2)、P(0,3)、P(1,0)、P(1,1)、P(1,2)、P(1,3)の画素データが供給される。
出力画像の画素Q(0,0)、Q(0、1)は、図10から理解されるように左上エリアに位置しており、画素Q(0,0)、Q(0、1)の画素データの算出において入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、図14Aに図示されているように、画素データ入力a1、b1、c1、d1に、それぞれ、画素データA、B、E、F、即ち、入力画像の画素P(0,0)、P(0,1)、P(1,0)、P(1,1)の画素データが供給され、画素データ入力a2、b2、c2、d2に、それぞれ、画素データB、C、F、G、即ち、入力画像の画素P(0,1)、P(0,2)、P(1,1)、P(1,2)の画素データが供給される。
一方、出力画像の画素Q(0,2)は、図10から理解されるように右上エリアに位置しており、画素Q(0,2)の画素データの算出においては入力画像の画素P、出力画像の画素Qの左右反転が行われる。このため、画素データ入力a3、b3、c3、d3に、それぞれ、画素データD、C、H、G、即ち、入力画像の画素P(0,3)、P(0,2)、P(1,3)、P(1,2)の画素データが供給される。
ここで、画素Q(0,1)は、左上エリアと右上エリアが重なった領域に位置しているので、画素Q(0,1)が右上エリアに位置しているとして、入力画像の画素P、出力画像の画素Qの位置を左右反転して画素Q(0,1)の画素データを算出してもよい。ただし、図14A、図14Bの動作では、画素Q(0,1)が左上エリアに位置しているとして画素Q(0,1)の画素データが算出されている。
一方、補間係数並び替え回路13は、補間係数入力q5、q6に、それぞれ、補間係数s、1−sを縦方向の補間演算についての補間係数として供給する。この場合、入力画像の画素P、出力画像の画素Qの位置の上下反転は行われない。
スケーリング演算部14Aは、画素データ入力a1〜d1、a2〜d2、a3〜d3に供給された画素データと補間係数入力q5、q6に供給された補間係数から出力画像の画素Q(0,0)、Q(0,1)、Q(0,2)の画素データを算出する。図14Bに図示されているように、画素Q(0,0)、Q(0,1)、Q(0,2)の画素データは、それぞれ、下記式のように算出される:
Q(0,0)=s・(s・P(0,0)+(1−s)・P(0,1))+
(1−s)・(s・P(1,0)+(1−s)・P(1,1))
Q(0,1)=s・(t・P(0,1)+(1−t)・P(0,2))+
(1−s)・(t・P(1,1)+(1−t)・P(1,2))
Q(0,2)=s・(s・P(0,3)+(1−s)・P(0,2))+
(1−s)・(s・P(1,3)+(1−s)・P(1,2))
y座標が0である出力画像の他の画素Qについても、画素Q(0、0)〜Q(0、2)と同様にして画素データが算出される。画素Q(0、3i)、Q(0,3i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(0,0)、Q(0,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の反転が行われないとして算出される。また、画素Q(0、3i+2)の画素データは、それぞれ、画素Q(0,2)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われるとして算出される。
図15A、図15Bは、y=1の場合、即ち、出力画像の画素Q(1,0)、Q(1,1)、Q(1,2)、Q(1,3)、Q(1、4)・・・の画素データの算出における画像処理回路10Aの動作を示している。
詳細には、y座標が1に設定された最初のクロックサイクルでは、出力画像の画素Q(1,0)、Q(1,1)、Q(1,2)の画素データが算出される。出力画像の画素Q(1,0)、Q(1,1)、Q(1,2)の画素データは、図10から理解されるように、入力画像の画素P(1,0)、P(1,1)、P(1,2)、P(1,3)、P(2,0)、P(2,1)、P(2,2)、P(2,3)の画素データから算出される。即ち、画素データA、B、C、D、E、F、G、Hとして、画素P(1,0)、P(1,1)、P(1,2)、P(1,3)、P(2,0)、P(2,1)、P(2,2)、P(2,3)の画素データが供給される。
ここで、図10から理解されるように、出力画像の画素Q(1,0)は、左上エリアと左下エリアが重なった領域に位置しており、画素Q(1,1)は、4つのエリア全てが重なった領域に位置しており、画素Q(1,2)は、右上エリアと右下エリアが重なった領域に位置している。本実施形態では、演算の簡略化のために、出力画像の画素Q(1,0)、Q(1,1)が左上エリアに位置し、Q(1,2)が右上エリアに位置しているとして画素Q(1,0)、Q(1,1)、Q(1,2)の画素データが算出される。これにより、補間係数入力q5、q6の縦方向の補間演算についての補間係数を変更するだけで、y=0の場合と同様の演算により、画素Q(1,0)、Q(1,1)、Q(1,2)の画素データが算出可能である。
即ち、画素Q(1,0)、Q(1、1)については左上エリアに位置しているとみなされ、画素Q(1,0)、Q(1、1)の画素データの算出については、入力画像の画素P、出力画像の画素Qの位置の反転は行われない。このため、図15Aに図示されているように、画素データ入力a1、b1、c1、d1に、それぞれ、画素データA、B、E、F、即ち、入力画像の画素P(1,0)、P(1,1)、P(2,0)、P(2,1)の画素データが供給され、画素データ入力a2、b2、c2、d2に、それぞれ、画素データB、C、F、G、即ち、入力画像の画素P(1,1)、P(1,2)、P(2,1)、P(2,2)の画素データが供給される。
一方、出力画像の画素Q(1,2)については右上エリアに位置しているとみなされ、画素Q(1,2)の画素データの算出においては入力画像の画素P、出力画像の画素Qの左右反転が行われる。このため、画素データ入力a3、b3、c3、d3に、それぞれ、画素データD、C、H、G、即ち、入力画像の画素P(1,3)、P(1,2)、P(2,3)、P(2,2)の画素データが供給される。
一方、補間係数並び替え回路13は、補間係数入力q5、q6に、それぞれ、補間係数t、1−tを縦方向の補間演算についての補間係数として供給する。この場合、入力画像の画素P、出力画像の画素Qの位置の上下反転は行われない。
スケーリング演算部14Aは、画素データ入力a1〜d1、a2〜d2、a3〜d3に供給された画素データと補間係数入力q5、q6に供給された補間係数から出力画像の画素Q(1,0)、Q(1,1)、Q(1,2)の画素データを算出する。図15Bに図示されているように、画素Q(1,0)、Q(1,1)、Q(1,2)の画素データは、それぞれ、下記式のように算出される:
Q(1,0)=t・(s・P(1,0)+(1−s)・P(1,1))+
(1−t)・(s・P(2,0)+(1−s)・P(2,1))
Q(1,1)=t・(t・P(1,1)+(1−t)・P(1,2))+
(1−t)・(t・P(2,1)+(1−t)・P(2,2))
Q(1,2)=t・(s・P(1,3)+(1−s)・P(1,2))+
(1−t)・(s・P(2,3)+(1−s)・P(2,2))
y座標が1である出力画像の他の画素Qについても、画素Q(1、0)〜Q(1、2)と同様にして画素データが算出される。画素Q(1、3i)、Q(1,3i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(1,0)、Q(1,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の反転が行われないとして算出される。また、画素Q(1、3i+2)の画素データは、それぞれ、画素Q(1,2)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の左右反転が行われるとして算出される。
図16A、図16Bは、y=2の場合、即ち、出力画像の画素Q(2,0)、Q(2,1)、Q(2,2)、Q(2,3)、Q(2、4)・・・の画素データの算出における画像処理回路10Aの動作を示している。
詳細には、y座標が2に設定された最初のクロックサイクルでは、出力画像の画素Q(2,0)、Q(2,1)、Q(2,2)の画素データが算出される。出力画像の画素Q(2,0)、Q(2,1)、Q(2,2)の画素データは、図10から理解されるように、入力画像の画素P(2,0)、P(2,1)、P(2,2)、P(2,3)、P(3,0)、P(3,1)、P(3,2)、P(3,3)の画素データから算出される。即ち、画素データA、B、C、D、E、F、G、Hとして、画素P(2,0)、P(2,1)、P(2,2)、P(2,3)、P(3,0)、P(3,1)、P(3,2)、P(3,3)の画素データが供給される。
出力画像の画素Q(2,0)、Q(2、1)は、図10から理解されるように左下エリアに位置しており、画素Q(2,0)、Q(2、1)の画素データの算出においては、入力画像の画素P、出力画像の画素Qの位置の左右反転は行われない(後述のように、最終的には、上下反転が行われる)。このため、図16Aに図示されているように、画素データ入力a1、b1、c1、d1に、それぞれ、画素データA、B、E、F、即ち、入力画像の画素P(2,0)、P(2,1)、P(3,0)、P(3,1)の画素データが供給され、画素データ入力a2、b2、c2、d2に、それぞれ、画素データB、C、F、G、即ち、入力画像の画素P(2,1)、P(2,2)、P(3,1)、P(3,2)の画素データが供給される。
一方、出力画像の画素Q(2,2)は、図10から理解されるように右下エリアに位置しており、画素Q(2,2)の画素データの算出においては入力画像の画素P、出力画像の画素Qの左右反転が行われる(後述のように、最終的には上下左右反転が行われる)。このため、画素データ入力a3、b3、c3、d3に、それぞれ、画素データD、C、H、G、即ち、入力画像の画素)P(2,3)、P(2,2)、P(3,3)、P(3,2)の画素データが供給される。
ここで、画素Q(2,1)は、左下エリアと右下エリアが重なった領域に位置しているので、画素Q(2,1)が右下エリアに位置しているとして、入力画像の画素P、出力画像の画素Qの位置を左右反転して画素Q(2,1)の画素データを算出してもよい。ただし、図16A、図16Bの動作では、画素Q(2,1)が左下エリアに位置しているとして画素Q(2,1)の画素データが算出されている。
一方、補間係数並び替え回路13は、補間係数入力q5、q6に、それぞれ、補間係数1−s、sを縦方向の補間演算についての補間係数として供給する。これにより、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる。出力画像の画素Q(2,0)、Q(2、1)が、左下エリアに位置しており、画素Q(2,2)は右下エリアに位置しているので、出力画像の画素Q(2,0)、Q(2、1)、Q(2,2)のいずれについても入力画像の画素P、出力画像の画素Qの位置の上下反転が行われる必要がある。
スケーリング演算部14Aは、画素データ入力a1〜d1、a2〜d2、a3〜d3に供給された画素データと補間係数入力q5、q6に供給された補間係数から出力画像の画素Q(2,0)、Q(2,1)、Q(2,2)の画素データを算出する。図16Bに図示されているように、画素Q(2,0)、Q(2,1)、Q(2,2)の画素データは、それぞれ、下記式のように算出される:
Q(2,0)=(1−s)・(s・P(2,0)+(1−s)・P(2,1))+
s・(s・P(3,0)+(1−s)・P(3,1))
Q(2,1)=(1−s)・(t・P(2,1)+(1−t)・P(2,2))+
s・(t・P(3,1)+(1−t)・P(3,2))
Q(2,2)=(1−s)・(s・P(2,3)+(1−s)・P(2,2))+
s・(s・P(3,3)+(1−s)・P(3,2))
y座標が2である出力画像の他の画素Qについても、画素Q(2、0)〜Q(2、2)と同様にして画素データが算出される。画素Q(2、3i)、Q(2,3i+1)(iは、1以上の整数)の画素データは、それぞれ、画素Q(2,0)、Q(2,1)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下反転が行われるとして算出される。また、画素Q(2、3i+2)の画素データは、それぞれ、画素Q(2,2)の画素データと同様に、入力画像の画素P、出力画像の画素Qの位置の上下左右反転が行われるとして算出される。
上述されている実施形態の画像処理回路は、ハードウェアの規模の抑制が求められる場合に特に有用である。このような用途の例としては、例えば、パネル表示装置において表示パネル(例えば、液晶表示パネル)を駆動する表示パネルドライバが挙げられる。以下では、上述されている実施形態の画像処理回路の表示パネルドライバへの実装の例について説明する。
図17は、本発明の一実施形態の表示装置の構成を示すブロック図である。本実施形態の表示装置は、液晶表示装置1として構成されており、液晶表示パネル2と、ドライバIC(integrated circuit:集積回路)3とを備えている。
液晶表示パネル2は、表示領域4とゲート線駆動回路5(GIP(gate in panel)回路とも呼ばれる)を備えている。図18に図示されているように、表示領域4には、複数のゲート線41(走査線、アドレス線とも呼ばれる)と、複数のソース線42(信号線、データ線とも呼ばれる)が配置されると共に、画素43が配置されている。本実施形態では、各画素43は、赤色(R)を表示するR副画素44R、緑色(G)を表示するG副画素44G及び青色(B)を表示するB副画素44Bを備えている。各画素43のR副画素44R、G副画素44G、B副画素44Bは、同一のゲート線41に接続される一方で、異なるソース線42に接続されている。なお、各画素43の構成(例えば、R副画素44R、G副画素44G、B副画素44Bの配置)は、様々に変更され得ることは当業者には自明的であろう。ゲート線駆動回路5は、ゲート線41を順次に駆動する。液晶表示パネル2の各画素43の駆動においては、ゲート線41が順次に選択され、選択されたゲート線41に接続された副画素(R副画素44R、G副画素44G、B副画素44B)にソース線42から所望のアナログ駆動電圧が書き込まれる。これにより、各副画素が所望の階調に設定され、所望の画像が液晶表示パネル2の表示領域4に表示される。
図17に戻り、ドライバIC3は、外部から(最も典型的には、演算装置から)供給される入力画像の各画素の画素データDINに応答して、表示領域4の各ソース線42を駆動する。液晶表示パネル2の各画素43が図18に図示されている構成を有している場合、各画素の画素データDINとしては、R副画素44R、G副画素44G、B副画素44Bの階調を示すデータが用いられる。ドライバIC3は、ソース線42を、ドライバIC3に外部から供給されるタイミング制御信号、より具体的には、垂直同期信号Vsync及び水平同期信号Hsyncに同期して駆動する。ドライバIC3は、COG(Chip on Glass)のような表面実装技術を用いて液晶表示パネル2に搭載されている。
図19は、本実施形態のドライバIC3の構成の一例を示す図である。本実施形態では、ドライバIC3は、インターフェース31と、RAM32と、RAMアクセスロジック回路33と、ラインバッファ34と、スケーラ回路35と、画像処理回路36と、ソースドライバ回路37とを備えている。
インターフェース31は、入力画像の画素データDINをRAM32に転送すると共に、垂直同期信号Vsync及び水平同期信号Hsyncに同期してドライバIC3の動作タイミングを制御する。
RAM32は、入力画像の画素データDINを保存する。本実施形態では、RAM32は、1枚のフレーム画像(各フレーム期間(各垂直同期期間)に表示領域4に表示される画像)の画素データを保存する容量を有している。
RAMアクセスロジック回路33は、RAM32から入力画像の画素データDINを読み出してスケーラ回路35に転送する。
ラインバッファ34は、RAM32から読み出した入力画像の画素データDINをRAMアクセスロジック回路33からスケーラ回路35に適正な順序で送るためのワークエリアとして用いられる。
スケーラ回路35は、RAMアクセスロジック回路33から受け取った画素データに対してスケーリング処理を行って出力画像の各画素の画素データを生成する。上述された本実施形態の画像処理回路10は、スケーラ回路35に組み込まれる。
画像処理回路36は、スケーラ回路35におけるスケーリング処理によって得られた出力画像の各画素の画素データに対して所定の画像処理を行って最終的に液晶表示パネル2の表示領域4に表示される画像の各画素の画素データを生成する。画像処理回路36で行われる画像処理としては、例えば、エッジ強調処理が挙げられる。上述のバイリニア法によるスケーリング処理では、一般に、エッジがぼやけた画像が得られるので、シャープな画像を得るためには、画像処理回路36においてエッジ強調処理を行うことが好ましい。
ソースドライバ回路37は、画像処理回路36から受け取った出力画素データに応答して表示領域4の各画素43を駆動する。
以上には、本発明の様々な実施形態が具体的に説明されているが、本発明は、上述の実施形態に限定されるものではない。本発明が様々な変更と共に実施され得ることは、当業者には自明的であろう。特に、上記では、本発明が、液晶表示装置において液晶表示パネルを駆動するドライバICに適用されている実施形態が記述されているが、本発明は、他の表示装置において表示パネル(例えば、OLED(organic light emitting diode)表示パネルやプラズマ表示パネル)を駆動する表示パネルドライバに適用可能である。