(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
本発明の理解を容易にするために、以下では、まず、スケーリング処理(拡大縮小処理)の概要を説明し、更に、及び複数の画像処理部でスケーリング処理を行う場合に生じ得る問題について説明する。
【0021】
図1は、典型的なスケーリング処理の一つであるバイリニア法によるスケーリング処理を説明する図であり、
図2は、
図1の左上隅の部分の拡大図である。
図1、
図2は、いずれも、2倍に画像を拡大する(即ち、画像の縦方向及び横方向の画素数を2倍にする)スケーリング処理を示している。
図1において、画素Pは、元画像の画素を示しており、画素Qは、拡大画像(スケーリング処理によって得られる画像)の画素を示している。また、
図2において、P(i,j)は、元画像の画素Pのうち、i行、j列に位置している画素を示しており、Q(i,j)は、拡大画像の画素Qのうち、i行、j列に位置している画素を示している。ここで、i,jは、整数である。
【0022】
バイリニア法によるスケーリング処理においては、拡大画像(又は縮小画像)の各画素の位置を拡大率(縮小率)に応じて決定し、更に、拡大画像の各画素の画素データ(最も典型的には、赤(R)、緑(G)、青(B)の階調を示すデータ)を、該各画素に最近接する元画像の4つの画素の画素データの直線補間によって算出する。直線補間において元画像の4つの画素に与えられる重みは、拡大画像(又は縮小画像)の各画素の位置に基づいて決定される。
【0023】
図3は、拡大画像の注目画素Qの画素データの決定方法を説明する図である。注目画素Qの画素データは、該注目画素Qに最近接する元画像の4つの画素P(i,j)、P(i,j+1)、P(i+1,j)、P(i+1,j+1)の画素データから算出される。より具体的には、画素P(i,j)、P(i,j+1)に対して横方向の直線補間を行うことで画素R1の画素データが算出され、画素P(i+1,j)、P(i+1,j+1)に対して横方向の直線補間を行うことで、画素R2の画素データが算出される。ここで、画素R1は、注目画素Qと横方向(
図3におけるX方向)の位置が同一で、且つ、画素P(i,j)、P(i,j+1)と縦方向の位置が同一である仮想的な画素であり、画素R2は、注目画素Qと横方向(
図3におけるX方向)の位置が同一で、且つ、画素P(i+1,j)、P(i+1,j+1)と縦方向の位置が同一である仮想的な画素である。注目画素Qの画素データは、画素R1、R2に対して縦方向の直線補間を行うことで決定される。なお、
図3では、横方向の直線補間の後に縦方向の直線補間が行われているが、順序は逆でもよい。また、実際の実装においては、横方向の直線補間と縦方向の直線補間とが同時に行われる演算が行われてもよい。
【0024】
図1、
図2を再度に参照して、画像の拡大を行う場合、元画像の最外周の画素よりも外側に拡大画像の画素の位置が決定されることがある。例えば、
図2においては、拡大画像の最外周の画素Q(
図2では、画素Q(0,0)、Q(0,1)、Q(0,2)、・・・及びQ(1,0)、Q(2,0)・・・)の位置が、元画像の最外周の画素Pよりも外側に決定されている。元画像の最外周の画素Pよりも外側に位置する拡大画像の画素Qの画素データは、元画像の最外周の画素Pをコピーした(即ち、同一の画素データを有する)コピー画素を仮想的に設定し、最外周の画素Pとコピー画素の画素データに対して直線補間を行うことで決定される。
【0025】
例えば、
図2において、拡大画像の左端の画素Q(1,0),Q(2,0)・・・の画素データは、元画像の左端の画素P(0,0)、P(1,0)、P(2,0)・・・と、そのコピー画素P(0,−1)、P(1,−1)、P(2,−1)のうち、最近接する4つの画素の画素データの直線補間によって算出される。ここで、コピー画素P(0,−1)、P(1,−1)、P(2,−1)・・・の画素データは、それぞれ、元画像の左端の画素P(0,0)、P(1,0)、P(2,0)の画素データに一致する。また、拡大画像の画素のうち、元画像の各隅の画素に対して横方向、縦方向のいずれにおいても外側に位置する画素の画素データについては、元画像の各隅の画素の画素データと、そのコピー画素の画素データの直線補間によって算出される(ただし、演算の結果としては、拡大画像の各隅の画素の画素データは、元画像の各隅の画素の画素データと一致することになる)。例えば、
図2において、拡大画像の左上隅の画素Q(0,0)は、元画像の左端の画素P(0,0)と、そのコピー画素P(−1,−1)、P(−1,0)、P(0,−1)の画素データの直線補間によって算出される。
【0026】
上述されているように、近年は、処理すべき画素データの量が増大しているので、スケーリング処理を、複数の画像処理部で分散して行う構成が採用され得る。このような場合、最も単純には、元画像を複数の分割画像に分割し、複数の分割画像のそれぞれの画素データを複数の画像処理部にそれぞれに供給し、複数の画像処理部のそれぞれにおいてスケーリング処理を行うことが考えられる。しかしながら、このような手法は、表示画像に不自然な不連続性を生じさせ得る。以下では、例として、元画像を2つの分割画像に分割し、該2つの分割画像の画素データを、それぞれ第1のスケーラ回路及び第2のスケーラ回路によってスケーリング処理を行う場合に生じ得る問題について議論する。
【0027】
図4は、元画像を分割して得られた第1の分割画像及び第2の分割画像の画素データを、それぞれ第1のスケーラ回路及び第2のスケーラ回路によって画像を2倍に拡大するスケーリング処理を行う場合の演算処理の一例を示す図である。第1のスケーラ回路は、第1の分割画像の画素データに対してスケーリング処理を行い、第2のスケーラ回路には、第2の分割画像の画素データに対してスケーリング処理を行う。以下では、第1のスケーラ回路によるスケーリング処理によって第1の分割画像から得られる拡大画像を、第1の拡大分割画像と呼び、第2のスケーラ回路によるスケーリング処理によって第2の分割画像から得られる拡大画像を、第1の拡大分割画像と呼ぶ。表示パネル上では、第1の拡大分割画像と第2の拡大分割画像とが隣接して表示される。
【0028】
ここで、第1のスケーラ回路及び第2のスケーラ回路のそれぞれにおいて拡大処理が行われるため、第1のスケーラ回路及び第2のスケーラ回路のそれぞれにおいて、第1及び第2の分割画像の最外周の画素よりも外側に第1及び第2の拡大分割画像の画素の位置が決定されることになる。このため、第1のスケーラ回路によって生成される第1の拡大分割画像の画素のうち、第1分割画像の最外周の画素よりも外側に位置する画素の画素データは、第1の分割画像の最外周の画素及びそのコピー画素の画素データから算出され、同様に、第2のスケーラ回路によって生成される第2の拡大分割画像の画素のうち、第2分割画像の最外周の画素よりも外側に位置する画素の画素データは、第2の分割画像の最外周の画素及びそのコピー画素の画素データから算出される。
【0029】
発明者の検討によると、このようなスケーリング処理は、第1の拡大分割画像と第2の拡大分割画像との境界において、不自然な不連続性を生じさせ得る。問題は、上記のスケーリング処理では、第1の拡大分割画像と第2の拡大分割画像のそれぞれにおいて、それらの境界に接する画素の画素データが、異なる画素データから算出されることにある。
図4を参照して、第1の拡大分割画像の第2の拡大分割画像との境界に隣接する画素(
図4において破線Aで囲まれた画素)の画素データは、第1の分割画像の第2の分割画像との境界に隣接する画素及びそのコピー画素の画素データから算出される。一方、第2の拡大分割画像の第1の拡大分割画像との境界に隣接する画素(
図4において破線Bで囲まれた画素)の画素データは、第2の分割画像の第1の分割画像との境界に隣接する画素及びそのコピー画素の画素データから算出される。このような画素データの相違は、表示画像の不自然な不連続性の原因となりうる。
【0030】
図5は、
図4のように、元画像を分割して得られる第1の分割画像及び第2の分割画像を、それぞれ第1のスケーラ回路と第2のスケーラ回路でスケーリング処理を行う場合に発生し得る表示画像の不連続性の例を示す図である。
図5の左部には、元画像が示されており、中央部には、元画像を分割せずにスケーリング処理を行うことで得られる拡大画像、及び、元画像を2分割してスケーリング処理を行うことで得られる拡大画像が図示されている。また、
図5の右部には、2つの拡大画像の拡大図が図示されている。拡大図を参照すれば、元画像を分割してスケーリング処理を行った場合において、表示画像に不自然な不連続性が生じていることが理解されるであろう。
【0031】
以下で詳細に説明するように、本発明の実施形態におけるスケーリング処理では、表示画像の不連続性の問題に対応するための手法が採用される。
図6A、
図6Bは、本実施形態におけるスケーリング処理を示す概念図である。
図6Aを参照して、本実施形態におけるスケーリング処理では、第1の拡大分割画像の第2の拡大分割画像との境界に隣接する画素(
図6Aにおいて破線Aで囲まれた画素)の画素データは、第1の分割画像の第2の分割画像との境界に隣接する部分の画素及び第2の分割画像の第1の分割画像との境界に隣接する部分の画素のコピー画素の画素データから算出される。同様に、第2の拡大分割画像の第1の拡大分割画像との境界に隣接する画素(
図6Aにおいて破線Bで囲まれた画素)の画素データは、第2の分割画像の第1の分割画像との境界に隣接する部分の画素及び第1の分割画像の第2の分割画像との境界に隣接する部分の画素のコピー画素の画素データから算出される。このような演算を行うために、第1のスケーラ回路には、第1の分割画像の画素データに加え、第2の分割画像の第1の分割画像との境界に隣接する画素の画素データが供給される。同様に、第2のスケーラ回路には、第2の分割画像の画素データに加え、第1の分割画像の第2の分割画像との境界に隣接する画素の画素データが供給される。
【0032】
図6Bは、本実施形態におけるスケーリング処理において、拡大画像の第1の拡大分割画像と第2の拡大分割画像との境界の部分の画素の画素データの算出について詳細に示す図である。上述されているように、画像の拡大を行う場合、各分割画像の最外周の画素よりも外側に各拡大分割画像の画素の位置が決定される。例えば、
図6Bにおいては、第1の拡大分割画像については、第1の拡大分割画像の最外周の画素Q
1(0,2m−2)〜Q
1(0,2m+1)及び画素Q
1(0,2m+1)〜Q
1(4,2m+1)の位置が、元画像の第1の分割画像の最外周の画素P
1よりも外側に決定されている。ここで、mは、元画像の横方向(x方向)の画素の数をMとして、(M/2)−1で得られる値である。同様に、第2の拡大分割画像については、第2の拡大分割画像の最外周の画素Q
2(0,0)〜Q
2(0,3)及び画素Q
2(0,0)〜Q
2(4,0)の位置が、元画像の第2の分割画像の最外周の画素P
2よりも外側に決定されている。
【0033】
ここで、第1の拡大分割画像の最外周の画素Q
1のうち、第2の拡大分割画像に隣接する部分の画素Q
1(0,2m+1)〜Q
1(4,2m+1)の画素データは、第1の分割画像の第2の分割画像との境界に隣接する画素P
1(0,m)〜P
1(2,m)の画素データと第2の分割画像の第1の分割画像との境界に隣接する画素P
2のコピー画素P
1(0,m+1)〜P
1(2,m+1)の画素データとの直線補間によって算出される。ここで、コピー画素P
1(0,m+1)〜P
1(2,m+1)の画素データは、それぞれ、第2の分割画像の画素P
2(0,0)〜P
2(2,0)の画素データと同一である。例えば、第1の拡大分割画像の最外周の画素Q
1(1,2m+1)の画素データは、第1の分割画像の画素P
1(0,m),P
1(1,m)の画素データとコピー画素P
1(0,m+1)、P
1(1,m+1)の画素データ(即ち、第2の分割画像の最外周の画素P
2(0,0),P
2(1,0)の画素データ)との直線補間によって算出される。
【0034】
ただし、第1の拡大分割画像の右上隅の画素Q
1(0,2m+1)については縦方向及び横方向の両方において第1の分割画像の画素P
1よりも外側に位置しているので、画素Q
1(0,2m+1)の画素データは、第1の分割画像の画素P
1(0,m)の画素データと、画素P
1(0,m)のコピー画素P
1(−1,m)の画素データと、第2の分割画像の最外周の画素P
2(0,0)のコピー画素P
1(−1,m+1)、P
1(0,m+1)の画素データとの直線補間によって算出される。
【0035】
同様に、第2の拡大分割画像の最外周の画素Q
2のうち、第1の拡大分割画像に隣接する部分の画素Q
2(0,0)〜Q
2(4,0)の画素データは、第2の分割画像の第1の分割画像との境界に隣接する画素P
2(0,0)〜P
2(2,0)の画素データと第1の分割画像の第2分割画像との境界に隣接する画素P
1のコピー画素P
2(0,−1)〜P
2(2,−1)の画素データとの直線補間によって算出される。ここで、コピー画素P
2(0,−1)〜P
2(2,−1)の画素データは、それぞれ、第1の分割画像の画素P
1(0,m)〜P
1(2,m)の画素データと同一である。例えば、第2の拡大分割画像の最外周の画素Q
2(1,0)の画素データは、第2の分割画像の画素P
2(0,0),P
2(1,0)の画素データとコピー画素P
2(0,−1)、P
2(1,−1)の画素データ(即ち、第1の分割画像の最外周の画素P
1(0,m),P
1(1,m)の画素データ)との直線補間によって算出される。
【0036】
ただし、第2の拡大分割画像の隅の画素Q
2(0,0)については縦方向及び横方向の両方において第2の分割画像の画素P
2よりも外側に位置しているので、画素Q
2(0,0)の画素データは、第2の分割画像の画素P
2(0,0)の画素データと、画素P
2(0,0)のコピー画素P
2(−1,0)の画素データと、第1の分割画像の最外周の画素P
1(0,m)のコピー画素P
2(−1,−1)、P
2(0,−1)の画素データとの直線補間によって算出される。
【0037】
このようなスケーリング処理によれば、分割しない場合と同様の拡大画像が得られ、表示画像に不自然な不連続性が生じることを抑制できる。なお、以上では、元画像を2分割して得られる分割画像を2つのスケーラ回路で処理する実施形態について説明しているが、元画像を3以上の分割画像に分割する場合についても、隣接する分割画像の境界のそれぞれにおいて上記の本実施形態のスケーリング処理を行ってもよい。
【0038】
以下では、
図6A及び
図6Bのようなスケーリング処理を実現するための具体的なハードウェア構成の実施形態を説明する。
【0039】
図7は、本発明の一実施形態の表示装置の構成を示すブロック図である。本実施形態の表示装置は、液晶表示装置1として構成されており、液晶表示パネル2と、ドライバIC(integrated circuit:集積回路)3とを備えている。
【0040】
液晶表示パネル2は、表示領域4とゲート線駆動回路5(GIP(gate in panel)回路とも呼ばれる)を備えている。
図8に図示されているように、表示領域4には、複数のゲート線11(走査線、アドレス線とも呼ばれる)と、複数のソース線12(信号線、データ線とも呼ばれる)が配置されると共に、画素13が配置されている。本実施形態では、各画素13は、赤色(R)を表示するR副画素14R、緑色(G)を表示するG副画素14G及び青色(B)を表示するB副画素14Bを備えている。各画素13のR副画素14R、G副画素14G、B副画素14Bは、同一のゲート線11に接続される一方で、異なるソース線12に接続されている。なお、各画素13の構成(例えば、R副画素14R、G副画素14G、B副画素14Bの配置)は、様々に変更され得ることは当業者には自明的であろう。以下において、表示領域4の水平方向、即ち、ゲート線11が延伸する方向をx方向と呼び、表示領域4の垂直方向、即ち、ソース線12が延伸する方向をy軸方向と呼ぶことがある。ゲート線駆動回路5は、ゲート線11を順次に駆動する。液晶表示パネル2の各画素13の駆動においては、ゲート線11が順次に選択され、選択されたゲート線11に接続された副画素(R副画素14R、G副画素14G、B副画素14B)にソース線12から所望のアナログ駆動電圧が書き込まれる。これにより、各副画素が所望の階調に設定され、所望の画像が液晶表示パネル2の表示領域4に表示される。
【0041】
図7に戻り、ドライバIC3は、外部から(最も典型的には、演算装置から)供給される画素データに応答して、表示領域4の各ソース線12を駆動する。ここで、本実施形態では、ドライバIC3は、2ポート構成を採用しており、表示領域4のうちの左側領域(第1領域)4Lに表示される画像に対応する画素データと右側領域(第2領域)4Rに表示される画像に対応する画素データとが、別々のポートからドライバIC3に供給される。以下では、ドライバIC3に供給される元画像の画素データのうち、左側領域4Lに表示すべき画像に対応する画素データを「左画像画素データD
IN_L」といい、右側領域4Rに表示すべき画像に対応する画素データを「右画像画素データD
IN_R」ということがある。言い換えれば、左画像画素データD
IN_Lは、元画像を2分割して得られる2つの分割画像のうちの左側の分割画像の画素データであり、右画像画素データD
IN_Rは、右側の分割画像の画素データである。上記のようなドライバICが複数のポートを用いて外部から画素データを受け取る構成は、画素数が多い液晶表示パネルを駆動するドライバICにしばしば採用される。ドライバIC3は、ソース線12を、ドライバIC3に外部から供給されるタイミング制御信号、より具体的には、垂直同期信号Vsync及び水平同期信号Hsyncに同期して駆動する。ドライバIC3は、COG(Chip on Glass)のような表面実装技術を用いて液晶表示パネル2に搭載されている。
【0042】
図9は、本実施形態のドライバIC3の構成の一例を示す図である。本実施形態では、ドライバIC3は、インターフェース/タイミングコントローラ21と、LRAM(左側RAM)22Lと、RRAM(右側RAM)22Rと、左ラインバッファ部23Lと、右ラインバッファ部23Rと、RAMアクセスロジック回路24と、左スケーラ回路25Lと、右スケーラ回路25Rと、左画像処理回路26Lと、右画像処理回路26Rと、ソースドライバ回路27とを備えている。
【0043】
インターフェース/タイミングコントローラ21と、LRAM(左側RAM)22Lと、RRAM(右側RAM)22Rと、左ラインバッファ部23Lと、右ラインバッファ部23Rと、RAMアクセスロジック回路24とは、左スケーラ回路25L、右スケーラ回路25Rに画素データを供給する画素データ分配部を構成している。
【0044】
詳細には、インターフェース/タイミングコントローラ21は、左画像画素データD
IN_LをLRAM22Lに転送すると共に、右画像画素データD
IN_RをRRAM22Rに転送する。インターフェース/タイミングコントローラ21は、更に、垂直同期信号Vsync及び水平同期信号Hsyncに同期してドライバIC3の動作タイミングを制御する。
【0045】
LRAM22Lは、左画像画素データD
IN_L(左側領域4Lに表示される画像に対応する画素データ)を保存し、RRAM22Rは、右画像画素データD
IN_R(右側領域4Rに表示される画像に対応する画素データ)を保存する。本実施形態では、LRAM22L、RRAM22Rは、合わせて1枚のフレーム画像(各フレーム期間(各垂直同期期間)に表示領域4に表示される画像)の画素データを保存する容量を有している。
【0046】
左ラインバッファ部23Lは、LRAM22Lから読み出された左画像画素データD
IN_Lを一時的に保存するために用いられ、同様に、右ラインバッファ部23Rは、RRAM22Rから読み出された右画像画素データD
IN_Rを一時的に保存するために用いられる。本実施形態では、左ラインバッファ部23Lは、表示領域4の左側領域4Lに位置する2水平ラインの画素13(2本のゲート線11に接続される画素13)に対応する左画像画素データD
IN_Lを保存する容量を有している。同様に、右ラインバッファ部23Rは、表示領域4の右側領域4Rに位置する2水平ラインの画素13(2本のゲート線11に接続される画素13)に対応する右画像画素データD
IN_Rを保存する容量を有している。後述されるように、左ラインバッファ部23L、右ラインバッファ部23Rは、左画像画素データD
IN_L、右画像画素データD
IN_RをRAMアクセスロジック回路24から左スケーラ回路25L及び右スケーラ回路25Rに適正な順序で送るためのワークエリアとして用いられる。
【0047】
RAMアクセスロジック回路24は、LRAM22Lから左画像画素データD
IN_Lを読み出して左スケーラ回路25Lに転送し、また、RRAM22Rから右画像画素データD
IN_Rを読み出して右スケーラ回路25Rに転送する。加えて、RAMアクセスロジック回路24は、左画像画素データD
IN_L(即ち、左側の分割画像の画素データ)のうち、左側の分割画像の右側の分割画像との境界に接する画素の画素データである境界画素データを右スケーラ回路25Rに転送する機能を有しており、右画像画素データD
IN_R(即ち、右側の分割画像の画素データ)のうち、右側の分割画像の左側の分割画像との境界に接する画素の画素データである境界画素データを左スケーラ回路25Lに転送する機能を有している。このような機能は、上述の
図6に示されたスケーリング処理を実現するために重要である。
【0048】
左スケーラ回路25Lは、RAMアクセスロジック回路24から受け取った画素データに対してスケーリング処理(本実施形態では、拡大処理)を行って拡大画像画素データを生成し、左画像処理回路26Lは、左スケーラ回路25Lにおけるスケーリング処理によって得られた拡大画像画素データに対して所定の画像処理を行って出力画素データを生成する。左画像処理回路26Lから出力される出力画素データが、表示領域4の左側領域4Lに位置する画素13の駆動に用いられる。左スケーラ回路25L及び左画像処理回路26Lは、全体としては、RAMアクセスロジック回路24から受け取った画素データから表示領域4の左側領域4Lに表示される画像の画素データを生成する第1の画像処理部を構成していることになる。本実施形態では、左スケーラ回路25Lは、上述されたバイリニア法によるスケーリング処理を行う。
【0049】
同様に、右スケーラ回路25Rは、RAMアクセスロジック回路24から受け取った画素データに対してスケーリング処理を行って拡大画像画素データを生成し、右画像処理回路26Rは、右スケーラ回路25Rにおけるスケーリング処理によって得られた画素データに対して所定の画像処理を行って出力画素データを生成する。右画像処理回路26Rから出力される画素データが、表示領域4の右側領域4Rに位置する画素13の駆動に用いられる。右スケーラ回路25R及び右画像処理回路26Rは、全体としては、RAMアクセスロジック回路24から受け取った画素データから表示領域4の右側領域4Rに表示される画像の画素データを生成する第2の画像処理部を構成していることになる。本実施形態では、右スケーラ回路25Rは、上述されたバイリニア法によるスケーリング処理を行う。
【0050】
左画像処理回路26L及び右画像処理回路26Rで行われる画像処理としては、例えば、エッジ強調処理が挙げられる。上述のバイリニア法によるスケーリング処理では、一般に、エッジがぼやけた画像が得られるので、シャープな画像を得るためには、左画像処理回路26L及び右画像処理回路26Rにおいてエッジ強調処理を行うことが好ましい。
【0051】
ここで、表示領域4に表示される画像は、元画像(左画像画素データD
IN_L、右画像画素データD
IN_Rに対応する画像)に対して拡大処理を行って得られる画像であることから、以下では、拡大画像と呼ぶことがある。また、左側領域4Lに表示される画像を左側拡大分割画像と記載し、右側領域4Rに表示される画像を右側拡大分割画像と呼ぶことがある。
【0052】
本実施形態では、左スケーラ回路25Lは、
図6A、
図6Bに図示された第1のスケーラ回路のスケーリング処理を行い、右スケーラ回路25Rは、
図6A、
図6Bに図示された第2のスケーラ回路のスケーリング処理を行う。即ち、左スケーラ回路25Lは、左側領域4Lの、右側領域4Rとの境界に隣接する部分に位置する画素13の駆動に用いられる画素データを、元画像の左側分割画像の右側分割画像との境界に隣接する部分にある画素の画素データ(境界画素データ)と元画像の右側分割画像の左側分割画像との境界に隣接する部分にある画素の画素データ(境界画素データ)とに直線補間を行うことで生成する。また、右スケーラ回路25Rは、右側領域4Rの、左側領域4Lとの境界に隣接する部分に位置する画素13の駆動に用いられる画素データを、元画像の右側分割画像の左側分割画像との境界に隣接する部分にある画素の画素データ(境界画素データ)と元画像の左側分割画像の右側分割画像との境界に隣接する画素の画素データ(境界画素データ)とに直線補間を行うことで生成する。
【0053】
ソースドライバ回路27は、左画像処理回路26L及び右画像処理回路26Rから受け取った出力画素データに応答して表示領域4の各画素13を駆動する。詳細には、ソースドライバ回路27は、左画像処理回路26Lから受け取った出力画素データに応答して表示領域4の左側領域4Lに設けられた画素13を駆動し、右画像処理回路26Rから受け取った出力画素データに応答して表示領域4の右側領域4Rに設けられた画素13を駆動する。
【0054】
図10は、左ラインバッファ部23L、右ラインバッファ部23R及びRAMアクセスロジック回路24の構成の一例を示すブロック図である。
【0055】
本実施形態では、左ラインバッファ部23Lは、2つの左ラインバッファLLB0、LLB1を備えている。
【0056】
同様に、右ラインバッファ部23Rは、2つの右ラインバッファRLB0、RLB1を備えている。
【0057】
RAMアクセスロジック回路24は、Xカウンタ31と、Yカウンタ32と、左アドレス生成回路33Lと、右アドレス生成回路33Rと、左マルチプレクサ回路34Lと、右マルチプレクサ回路34Rとを備えている。
【0058】
Xカウンタ31は、クロック信号Clockのクロックパルスをカウントしてカウント値Xを出力する。また、Yカウンタ32は、水平同期信号Hsyncのパルスをカウントしてカウント値Yを出力する。カウント値X、Yの値により、表示領域4の左側領域4L、右側領域4Rの画素13のうち、左スケーラ回路25L及び右スケーラ回路25Rにおけるスケーリング処理の対象画素が指定される。
【0059】
Xカウンタ31によるカウント値Xの生成は、水平同期信号Hsyncと画素データ有効信号PixelValidとに応じて制御される。ここで、画素データ有効信号PixelValidは、表示領域4の画素13の画素データが生成される期間にアサートされる(本実施形態では“0”に設定される)信号である。ただし、画素データ有効信号PixelValidがアサートされる期間は、表示領域4の画素13の画素データが生成される期間からその前後にクロック信号Clockの1クロックサイクル分だけ拡張されている。
【0060】
図11Aは、Xカウンタ31の動作の一例を示す真理値表である。Xカウンタ31は、水平同期信号Hsyncがアサートされると(本実施形態では、“0”に設定されると)リセットされる。
図11Aの動作では、Xカウンタ31は、リセットされると“−1”に設定される。水平同期信号Hsyncがネゲートされる一方で画素データ有効信号PixelValidがアサートされている場合、Xカウンタ31は、クロック信号Clockのクロックパルスをカウントしてカウント値Xを1ずつ増加させる。また、水平同期信号Hsyncと画素データ有効信号PixelValidとがいずれもネゲートされている場合、Xカウンタ31は、カウント値Xをそのままに維持する。
【0061】
Yカウンタ32によるカウント値Yの生成は、垂直同期信号Vsyncと水平同期信号Hsyncとに応じて制御される。
図11Bは、Yカウンタ32の動作の一例を示す真理値表である。Yカウンタ32は、垂直同期信号Vsyncがアサートされると(本実施形態では、“0”に設定されると)リセットされる。また、垂直同期信号Vsyncがネゲートされる一方で水平同期信号HsyncがアサートされるとYカウンタ32は、カウント値Yを1だけ増加させる。また、垂直同期信号Vsyncと水平同期信号Hsyncとがいずれもネゲートされている場合、Yカウンタ32は、カウント値Yをそのままに維持する。
【0062】
図12は、Xカウンタ31、Yカウンタ32の動作の一例を示すタイミングチャートである。各垂直同期期間(各フレーム期間)の初めに垂直同期信号Vsyncがアサートされ、Yカウンタ32のカウント値Yが“−1”にリセットされる。その後、水平同期信号Hsyncがアサートされて最初の水平同期期間が開始されると、Yカウンタ32のカウント値Yが “0”にカウントアップされると共に、Xカウンタ31のカウント値Xが“−1”にリセットされる。その後、画素データ有効信号PixelValidがアサートされると、Xカウンタ31はクロック信号Clockのクロックパルスをカウントしてカウント値Xを1ずつ増加させる。Xカウンタ31は、画素データ有効信号PixelValidがアサートされている間、クロック信号Clockのクロックパルスをカウントする。Xカウンタ31のカウント値Xは、Xsize+1までカウントアップされる。ここで、Xsizeは、表示領域4の左側領域4L、右側領域4Rのそれぞれの水平方向(x方向)における画素13の数である。
【0063】
水平同期信号Hsyncが再度にアサートされて次の水平同期期間が開始されると、Xカウンタ31のカウント値Xが“−1”にリセットされる。その後、最初の水平同期期間と同様に、Xカウンタ31は、カウント値XがXsize+1までカウントアップされるまでクロック信号Clockのクロックパルスをカウントする。以後、次の垂直同期期間が開始されるまで、同様の動作が継続される。
【0064】
図10に戻り、左アドレス生成回路33Lは、LRAM22L、左ラインバッファLLB0、LLB1に対するアクセス要求と、アクセス先を指定するアドレスL0adr、L1adr、L2adrを生成する。ここで、アドレスL0adrは、LRAM22Lのアクセス先のアドレスである。また、アドレスL1adr、L2adrは、それぞれ、左ラインバッファLLB0、LLB1のアクセス先のアドレスである。
【0065】
同様に、右アドレス生成回路33Rは、RRAM22R、右ラインバッファRLB0、RLB1に対するアクセス要求と、アクセス先を指定するアドレスR0adr、R1adr、R2adrを生成する。ここで、アドレスR0adrは、RRAM22Rのアクセス先のアドレスである。また、アドレスR1adr、R2adrは、それぞれ、右ラインバッファRLB0、RLB1のアクセス先のアドレスである。
【0066】
図13Aは、左アドレス生成回路33Lの動作の一例を示す真理値表である。左ラインバッファLLB0、LLB1のアクセス先を指定するアドレスL1adr、L2adrは、Xカウンタ31のカウント値Xに応じて算出される。また、LRAM22Lのアクセス先を指定するアドレスL0adrは、Xカウンタ31のカウント値XとYカウンタ32のカウント値Yとに応じて算出される。
【0067】
また、
図13Bは、右アドレス生成回路33Rの動作の一例を示す真理値表である。右ラインバッファRLB0、RLB1のアクセス先を指定するアドレスR1adr、R2adrは、Xカウンタ31のカウント値Xに応じて算出される。また、RRAM22Rのアクセス先を指定するアドレスR0adrは、Xカウンタ31のカウント値XとYカウンタ32のカウント値Yとに応じて算出される。
【0068】
図14Aは、左アドレス生成回路33Lと右アドレス生成回路33Rによって生成されるアクセス要求の内容の一例を示す真理値表である。左ラインバッファLLB0、LLB1に対しては、書き込みと読み出しの両方のアクセスが発生し得る。左ラインバッファLLB0、LLB1に対して書き込みと読み出しのいずれが行われるかは、Yカウンタ32のカウント値Yに応じて決定される。右ラインバッファRLB0、RLB1についても同様である。右ラインバッファRLB0、RLB1に対して書き込みと読み出しのいずれが行われるかは、Yカウンタ32のカウント値Yに応じて決定される。ここで、
図14Aにおいて、“Y%4”は、カウント値Yを4で割ったときの剰余を意味している。即ち、
図14Aの動作では、カウント値Yを4で割ったときの剰余に応じて左ラインバッファLLB0、LLB1に対するアクセス要求の内容が決定される。なお、RAMアクセスロジック回路24は、LRAM22L、RRAM22Rから画素データを読み出すが、LRAM22L、RRAM22Rに対する画素データの書き込みは行わない。
【0069】
図14Bは、左アドレス生成回路33Lと右アドレス生成回路33Rによって生成されるアクセス要求の内容の他の例を示す真理値表である。
図14Bにおいて、“Y%2”は、カウント値Yを2で割ったときの剰余を意味している。即ち、
図14Bの動作では、カウント値Yを2で割ったときの剰余に応じて左ラインバッファLLB0、LLB1に対するアクセス要求の内容が決定される。
図14Bの動作では、同じ画素データを上書きする余計な書き込みが発生するが、アクセス要求の生成の論理が簡素化される。
【0070】
図10を再度に参照して、左マルチプレクサ回路34Lは、LRAM22L、左ラインバッファLLB0、LLB1から左スケーラ回路25Lに送るべき画素データを収集し、収集した画素データを左スケーラ回路25Lに送り出す。
図10においては、LRAM22L、左ラインバッファLLB0、LLB1から読み出される画素データが、それぞれ、記号L0、L1、L2として図示されている。
図3から理解されるように、バイリニア法によってスケーリング処理を行う場合、拡大画像の各画素の画素データは、元画像の4つの画素の画素データから算出されるので、左マルチプレクサ回路34Lは、LRAM22L、左ラインバッファLLB0、LLB1から読み出した画素データを4つの画素の画素データを1単位として左スケーラ回路25Lに送り出す。本実施形態では、左マルチプレクサ回路34Lは、4つの画素の画素データLP00、LP01、LP10、LP11を左スケーラ回路25Lに送り出すように構成されている。
【0071】
同様に、右マルチプレクサ回路34Rは、RRAM22R、右ラインバッファRLB0、RLB1から右スケーラ回路25Rに送るべき画素データを収集し、収集した画素データを右スケーラ回路25Rに送り出す。
図10においては、RRAM22R、右ラインバッファRLB0、RLB1から読み出される画素データが、それぞれ、記号R0、R1、R2として図示されている。本実施形態では、右マルチプレクサ回路34Rは、4つの画素の画素データRP00、RP01、RP10、RP11を右スケーラ回路25Rに送り出すように構成されている。
【0072】
図15は、左マルチプレクサ回路34L、右マルチプレクサ回路34Rの構成の一例を示すブロック図である。左マルチプレクサ回路34Lは、Xアドレスフリップフロップ41Lと、左セレクタ42Lと、画素データフリップフロップ43L〜47Lとを備えている。同様に、右マルチプレクサ回路34Rは、Xアドレスフリップフロップ41Rと、右セレクタ42Rと、画素データフリップフロップ43R〜47Rとを備えている。
【0073】
Xアドレスフリップフロップ41L、41Rは、Xカウンタ31から受け取ったカウント値Xをラッチし、ラッチしたカウント値Xを1クロックサイクルだけ遅延して出力する。
図15では、Xアドレスフリップフロップ41L、41Rから出力されるカウント値が、記号“XBuf”として示されている。
【0074】
左セレクタ42Lは、それに入力される様々な画素データから左スケーラ回路25Lに送るべき画素データLP00、LP01、LP10、LP11を選択する機能を有している。加えて、本実施形態では、左セレクタ42Lは、それに入力される様々な画素データから右スケーラ回路25Rに送るべき画素データを選択する機能も有している。
【0075】
同様に、右セレクタ42Rは、それに入力される様々な画素データから右スケーラ回路25Rに送るべき画素データRP00、RP01、RP10、RP11を選択する機能を有している。加えて、本実施形態では、右セレクタ42Rは、それに入力される様々な画素データから左スケーラ回路25Lに送るべき画素データを選択する機能も有している。左セレクタ42L、右セレクタ42Rによる画素データの選択については、後に詳細に説明する。
【0076】
画素データフリップフロップ43Lは、入力が左セレクタ42Lに接続され、且つ、出力が右セレクタ42Rに接続されている。画素データフリップフロップ43Lは、左セレクタ42Lから右セレクタ42Rに転送すべき画素データを一時的に保持して出力するラッチ部として動作する。画素データフリップフロップ43Lは、元画像の左側分割画像の右側分割画像に隣接する部分の画素の画素データ(境界画素データ)を、左セレクタ42Lから右セレクタ42Rを介して右スケーラ回路25Rに転送する経路として用いられる。本実施形態では、2つの画素の画素データが画素データフリップフロップ43Lから出力され、それらの画素データは、
図15において、記号“LBuf0”、“LBuf1”で示されている。
【0077】
一方、画素データフリップフロップ43Rは、入力が右セレクタ42Rに接続され、且つ、出力が左セレクタ42Lに接続されている。画素データフリップフロップ43Rは、右セレクタ42Rから左セレクタ42Lに転送すべき画素データを一時的に保持して出力するラッチ部として動作する。画素データフリップフロップ43Rは、元画像の右側分割画像の左側分割画像に隣接する部分の画素の画素データ(境界画素データ)を右セレクタ42Rから左セレクタ42Lを介して左スケーラ回路25Lに転送する経路として用いられる。本実施形態では、2つの画素の画素データが画素データフリップフロップ43Rから出力され、それらの画素データは、
図15において、記号“RBuf0”、“RBuf1”で示されている。
【0078】
画素データフリップフロップ44L〜47Lは、それぞれ、左スケーラ回路25Lに送るべき画素データLP00、LP01、LP10、LP11を左セレクタ42Lから受け取り、画素データLP00、LP01、LP10、LP11を左スケーラ回路25Lに出力する。同様に、画素データフリップフロップ44R〜47Rは、それぞれ、右スケーラ回路25Rに送るべき画素データRP00、RP01、RP10、RP11を右セレクタ42Rから受け取り、画素データRP00、RP01、RP10、RP11を右スケーラ回路25Rに出力する。
【0079】
続いて、左セレクタ42L、右セレクタ42Rの動作について詳細に説明する。
左セレクタ42Lには、下記の画素データが入力され、入力された画素データから左スケーラ回路25Lに送るべき画素データLP00、LP01、LP10、LP11、及び、右セレクタ42Rに送るべき画素データLBuf0、LBuf1を選択する。
(1)LRAM22Lから受け取った画素データL0
(2)左ラインバッファLLB0、LLB1から受け取った画素データL1、L2
(3)画素データフリップフロップ44L、46Lから受け取った画素データLP00、LP10
(4)右マルチプレクサ回路34Rの画素データフリップフロップ43Rから受け取った画素データRBuf0、RBuf1
【0080】
同様に、右セレクタ42Rには、下記の画素データが入力され、入力された画素データから右スケーラ回路25Rに送るべき画素データRP00、RP01、RP10、RP11、及び、左セレクタ42Lに送るべき画素データRBuf0、RBuf1を選択する。
(1)RRAM22Rから受け取った画素データR0
(2)右ラインバッファRLB0、RLB1から受け取った画素データR1、R2
(3)画素データフリップフロップ44R、46Rから受け取った画素データRP00、RP10
(4)左マルチプレクサ回路34Lの画素データフリップフロップ43Lから受け取った画素データLBuf0、LBuf1
【0081】
左セレクタ42Lにおける画素データLP00、LP01、LP10、LP11、LBuf0、LBuf1の選択は、Yカウンタ32から受け取ったカウント値Yと、Xアドレスフリップフロップ41Lから受け取ったカウント値XBufに応じて行われる。
図16A、
図17A、
図18Aは、それぞれ、カウント値Yが0の場合、((Y+1)/2)%2=1が成立する場合、((Y+1)/2)%2=0が成立する場合の左セレクタ42Lの動作を示す真理値表である。
【0082】
左セレクタ42Lの動作において注目すべきことが二つある。一つは、カウント値XBufが−1の場合に、LRAM22Lから受け取った画素データL0、左ラインバッファLLB0、LLB1から受け取った画素データL1、L2が右セレクタ42Rに送るべき画素データLBuf0、LBuf1として選択されることである。詳細には、カウント値Yが0であり、且つ、カウント値XBufが−1である場合、LRAM22Lから受け取った画素データL0が、右セレクタ42Rに送るべき画素データLBuf0、LBuf1として選択される。また、((Y+1)/2)%2=1が成立し、且つ、カウント値XBufが−1の場合、左ラインバッファLLB0から受け取った画素データL1とLRAM22Lから受け取った画素データL0とが右セレクタ42Rに送るべき画素データLBuf0、LBuf1として選択される。更に、((Y+1)/2)%2=0が成立し、且つ、カウント値XBufが−1の場合、左ラインバッファLLB1から受け取った画素データL2とLRAM22Lから受け取った画素データL0とが右セレクタ42Rに送るべき画素データLBuf0、LBuf1として選択される。この動作は、元画像の左側分割画像の右側分割画像に隣接する部分の画素の画素データ(境界画素データ)を、右セレクタ42Rを介して右スケーラ回路25Rに送ることに関連している。
【0083】
もう一つは、カウント値Yがいずれの値であっても、カウント値XBufがXsize−1の場合に、右マルチプレクサ回路34Rの画素データフリップフロップ43Rから受け取った画素データRBuf0、RBuf1が、左スケーラ回路25Lに送るべき画素データLP00、LP10として選択されることである。この動作は、元画像の右側分割画像の左側分割画像に隣接する部分の画素の画素データ(境界画素データ)を、左セレクタ42Lを介して左スケーラ回路25Lに送ることに関連している。
【0084】
同様に、右セレクタ42Rにおける画素データRP00、RP01、RP10、RP11、RBuf0、RBuf1の選択も、Yカウンタ32から受け取ったカウント値Yと、Xアドレスフリップフロップ41Lから受け取ったカウント値XBufに応じて行われる。
図16B、
図17B、
図18Bは、それぞれ、カウント値Yが0の場合、((Y+1)/2)%2=1が成立する場合、((Y+1)/2)%2=0が成立する場合の右セレクタ42Rの動作を示す真理値表である。
【0085】
左セレクタ42Lの動作と同様に、右セレクタ42Rの動作においても、注目すべきことが二つある。一つは、カウント値XBufが0の場合に、RRAM22Rから受け取った画素データR0、右ラインバッファRLB0、RLB1から受け取った画素データR1、R2が左セレクタ42Lに送るべき画素データRBuf0、RBuf1として選択されることである。詳細には、カウント値Yが0であり、且つ、カウント値XBufが0である場合、RRAM22Rから受け取った画素データR0が、左セレクタ42Lに送るべき画素データRBuf0、RBuf1として選択される。また、((Y+1)/2)%2=1が成立し、且つ、カウント値XBufが0の場合、右ラインバッファRLB0から受け取った画素データR1とRRAM22Rから受け取った画素データR0とが左セレクタ42Lに送るべき画素データRBuf0、RBuf1として選択される。更に、((Y+1)/2)%2=0が成立し、且つ、カウント値XBufが0の場合、右ラインバッファRLB1から受け取った画素データR2とRRAM22Rから受け取った画素データR0とが左セレクタ42Lに送るべき画素データRBuf0、RBuf1として選択される。この動作は、元画像の右側分割画像の左側分割画像に隣接する部分の画素の画素データ(境界画素データ)を、左セレクタ42Lを介して左スケーラ回路25Lに送ることに関連している。
【0086】
もう一つは、カウント値Yがいずれの値であっても、カウント値XBufが0の場合に、左マルチプレクサ回路34Lの画素データフリップフロップ43Lから受け取った画素データLBuf0、LBuf1が、左スケーラ回路25Lに送るべき画素データRP01、LP11として選択されることである。この動作は、元画像の左側分割画像の右側分割画像に隣接する部分の画素の画素データ(境界画素データ)を、右セレクタ42Rを介して右スケーラ回路25Rに送ることに関連している。
【0087】
続いて、本実施形態におけるRAMアクセスロジック回路24の動作について説明する。本実施形態では、RAMアクセスロジック回路24は、元画像の左側分割画像の各画素の画素データに加え、右側分割画像の左側分割画像に隣接する部分の画素(詳細には、右側分割画像の左端の列の画素)の画素データ(境界画素データ)を左スケーラ回路25Lに供給する。また、RAMアクセスロジック回路24は、元画像の右側分割画像の各画素の画素データに加え、左側分割画像の右側分割画像に隣接する部分の画素(詳細には、左側分割画像の右端の列の画素)の画素データ(境界画素データ)を右スケーラ回路25Rに供給する。左スケーラ回路25Lは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って左側領域4Lの画素13の画素データを算出し、右スケーラ回路25Rは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って右側領域4Rの画素13の画素データを算出する。このような動作によれば、表示領域4に表示される表示画像における、左側領域4Lと右側領域4Rに表示される表示画像の不連続性を抑制することができる。
【0088】
図19〜
図21は、本実施形態におけるRAMアクセスロジック回路24の動作、特に、左マルチプレクサ回路34L、右マルチプレクサ回路34Rの動作を示すタイミングチャートである。
図19〜
図21において、“LRAM Adress”の欄は、LRAM22Lのアクセスアドレス(読み出しアドレス)を示しており、“RRAM Adress”の欄は、RRAM22Rのアクセスアドレス(読み出しアドレス)を示している。また、“LLB0 write data”、“LLB1 write data”の欄は、それぞれ、左ラインバッファLLB0、LLB1に書き込まれる画素データを示している。更に、“RLB0 write data”、“RLB1 write data”の欄は、それぞれ、右ラインバッファRLB0、RLB1に書き込まれる画素データを示している。また、
図19〜
図21における数値“y,x”は、画素の座標を示しており、それぞれ、y座標、x座標を示している。
【0089】
図19は、Yカウンタ32のカウント値Yが、“0”である場合の動作を図示している。カウント値Yが“0”である場合、表示領域4(左側領域4L、右側領域4R)の上端の画素13の画素データが生成される。カウント値Yが“0”である場合には、元画像の上端の画素の画素データが、LRAM22L、RRAM22Rから読み出される。
【0090】
Xカウンタ31のカウント値Xが“−1”であるクロックサイクルにおいては、LRAM22L、RRAM22Rの読み出しアドレスが、それぞれ、左側分割画像の右端の画素の画素データ及び右側分割画像の右端の画素の画素データのアドレスを指定するように設定される。カウント値Xが“−1”であるクロックサイクルにおいてはLRAM22L、RRAM22Rの読み出しアドレスが“0,(Xsize−1)/2”に設定されていることに留意されたい。ここでXsizeは、表示領域4の左側領域4L、右側領域4Rそれぞれのx方向における画素13の数である。
【0091】
続いて、カウント値Xが“0”であるクロックサイクル(即ち、Xアドレスフリップフロップ41L、41Rのカウント値XBufが“−1”であるクロックサイクル)において、LRAM22Lから左側分割画像の右端の画素の画素データが読み出され、RRAM22Rから右側分割画像の右端の画素の画素データが読み出される。更に、LRAM22Lから読み出された左側分割画像の右端の画素の画素データが、左ラインバッファLLB0に書き込まれ、RRAM22Rから読み出された右側分割画像の右端の画素の画素データが、右ラインバッファRLB0に書き込まれる。
【0092】
このクロックサイクルでは、更に、左セレクタ42Lが、右セレクタ42Rに送り出す画素データLBuf0、LBuf1として、左側分割画像の右端の画素の画素データが選択される。この動作により、次のクロックサイクル以降において右セレクタ42Rが左側分割画像の右端の画素の画素データを受け取る準備ができたことになる。
【0093】
続いて、カウント値Xが“1”であるクロックサイクル(即ち、カウント値XBufが“0”であるクロックサイクル)では、左側領域4L、右側領域4Rの左端の画素13の画素データが算出される。詳細には、LRAM22Lから左側分割画像の左端の画素の画素データが読み出され、RRAM22Rから右側分割画像の左端の画素の画素データが読み出される。また、LRAM22Lから読み出された左側分割画像の左端の画素の画素データが左ラインバッファLLB0に書き込まれ、RRAM22Rから読み出された右側分割画像の左端の画素の画素データが右ラインバッファRLB0に書き込まれる。
【0094】
このとき、左セレクタ42Lは、LRAM22Lから読み出した左側分割画像の左端の画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択する。この結果、左スケーラ回路25Lは、左側領域4Lの左上隅の画素13の画素データを、左側分割画像の左上隅の画素及びそのコピー画素の画素データの直線補間によって算出する。実際には、4画素の画素データLP00、LP01、LP10、LP11は同一であるから、左側領域4Lの左上隅の画素13の画素データは、左側分割画像の左上隅の画素の画素データと同一に算出されることになる。
【0095】
一方、右セレクタ42Rは、右スケーラ回路25Rに送られる4画素の画素データのうちの2画素の画素データRP00、RP10としてRRAM22Rから読み出した右側分割画像の左端の画素の画素データを選択し、更に、画素データRP01、RP11として左セレクタ42Lから受け取った画素データLBuf0、LBuf1を選択する。このような動作により、左側分割画像の右端の画素の画素データが右セレクタ42Rを介して右スケーラ回路25Rに送られる。右スケーラ回路25Rは、右側領域4Rの左上隅の画素13の画素データを、右側分割画像の左上隅の画素の画素データと左側分割画像の右上隅の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0096】
以後、カウント値Xが“Xsize−1”になるクロックサイクルまでは、左側領域4L、右側領域4Rの上端の画素13の画素データが順次に算出される。左セレクタ42Lは、左側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択し、右セレクタ42Rは、右側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データを、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として選択する。左スケーラ回路25Lは、左側領域4Lの上端の画素13の画素データを、左側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データの直線補間によって算出し、右スケーラ回路25Rは、右側領域4Rの上端の画素13の画素データを、右側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データの直線補間によって算出する。
【0097】
カウント値XBufが“Xsize−1”になるクロックサイクル(カウント値Xが“Xsize−1”になるクロックサイクルの次のクロックサイクル)では、左側領域4L、右側領域4Rの右端の画素13の画素データが算出される。左セレクタ42Lは、左スケーラ回路25Lに送られる4画素の画素データのうち2画素の画素データLP00、LP10として右セレクタ42Rから受け取った画素データRBuf0、RBuf1を選択し、更に、画素データLP01、LP11として、LRAM22Lから読み出された左側分割画像の右端の画素の画素データを選択する。このような動作により、右側分割画像の左端の画素の画素データが左セレクタ42Lを介して左スケーラ回路25Lに送られる。左スケーラ回路25Lは、左側領域4Lの右上隅の画素13の画素データを、左側分割画像の右上隅の画素の画素データと右側分割画像の左上隅の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0098】
このとき、右セレクタ42Rは、RRAM22Rから読み出された右側分割画像の右端の画素の画素データを、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として選択する。この結果、右スケーラ回路25Rは、右側領域4Rの右上隅の画素13の画素データを、右側分割画像の右上隅の画素及びそのコピー画素の画素データの直線補間によって算出する。実際には、4画素の画素データRP00、RP01、RP10、RP11は同一であるから、右側領域4Rの右上隅の画素13の画素データは、右側分割画像の右上隅の画素の画素データと同一に算出されることになる。
【0099】
図20、
図21は、表示領域4の上端又は下端に位置しない画素13の画素データが算出される場合の動作を示している。詳細には、
図20は、Yカウンタ32のカウント値Yについて((Y+1)/2)%2=1が成立する場合の動作を示しており、
図21は、((Y+1)/2)%2=0が成立する場合の動作を示している。これらの場合についても、画素データのアクセス先については相違があるものの、全体としては、Yカウンタ32のカウント値Yが“0”である場合の動作(
図19参照)と同様である。
【0100】
より具体的には、((Y+1)/2)%2=1の場合(
図20参照)の動作は下記の通りである。Xカウンタ31のカウント値Xが“−1”であるクロックサイクルにおいては、LRAM22L、RRAM22Rの読み出しアドレス、及び、左ラインバッファLLB0、右ラインバッファRLB0の読み出しアドレスが、それぞれ、左側分割画像の右端の画素の画素データ及び右側分割画像の右端の画素の画素データのアドレスを指定するように設定される。
図20において、カウント値Xが“−1”であるクロックサイクルにおいてはLRAM22L、RRAM22Rの読み出しアドレスが“1,(Xsize−1)/2”に設定され、左ラインバッファLLB0、右ラインバッファRLB0の読み出しアドレスが、“0,(Xsize−1)/2” に設定されていることに留意されたい(なお、左ラインバッファLLB0、右ラインバッファRLB0のyアドレスは実際には設定する必要がない)。
【0101】
続いて、カウント値Xが“0”であるクロックサイクル(即ち、Xアドレスフリップフロップ41L、41Rのカウント値XBufが“−1”であるクロックサイクル)において、LRAM22L及び左ラインバッファLLB0から左側分割画像の右端の画素の画素データが読み出され、RRAM22R及び右ラインバッファRLB0から右側分割画像の右端の画素の画素データが読み出される。更に、LRAM22Lから読み出された左側分割画像の右端の画素の画素データが、左ラインバッファLLB1に書き込まれ、RRAM22Rから読み出された右側分割画像の右端の画素の画素データが、右ラインバッファRLB1に書き込まれる。
【0102】
このクロックサイクルでは、更に、左セレクタ42Lが、右セレクタ42Rに送り出す画素データLBuf0、LBuf1として、左側分割画像の右端の画素の画素データが選択される。この動作により、次のクロックサイクル以降において右セレクタ42Rが左側分割画像の右端の画素の画素データを受け取る準備ができたことになる。
【0103】
続いて、カウント値Xが“1”であるクロックサイクル(即ち、カウント値XBufが“0”であるクロックサイクル)では、左側領域4L、右側領域4Rの左端の画素13の画素データが算出される。詳細には、LRAM22L及び左ラインバッファLLB0から左側分割画像の左端の画素の画素データが読み出され、RRAM22R及び右ラインバッファRLB0から右側分割画像の左端の画素の画素データが読み出される。また、LRAM22Lから読み出された左側分割画像の左端の画素の画素データが左ラインバッファLLB1に書き込まれ、RRAM22Rから読み出された右側分割画像の左端の画素の画素データが右ラインバッファRLB1に書き込まれる。
【0104】
このとき、左セレクタ42Lは、LRAM22L及び左ラインバッファLLB0から読み出した左側分割画像の左端の画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択する。この結果、左スケーラ回路25Lは、左側領域4Lの左端の画素13の画素データを、左側分割画像の左端の画素の画素データ及びそのコピー画素の画素データの直線補間によって算出する。
【0105】
一方、右セレクタ42Rは、右スケーラ回路25Rに送られる4画素の画素データのうちの2画素の画素データRP00、RP10としてRRAM22R及び右ラインバッファRLB0から読み出した右側分割画像の左端の画素の画素データを選択し、更に、画素データRP01、RP11として左セレクタ42Lから受け取った画素データLBuf0、LBuf1を選択する。このような動作により、左側分割画像の右端の画素の画素データが右セレクタ42Rを介して右スケーラ回路25Rに送られる。右スケーラ回路25Rは、右側領域4Rの左端の画素13の画素データを、右側分割画像の左端の画素の画素データと左側分割画像の右端の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0106】
以後、カウント値Xが“Xsize−1”になるクロックサイクルまでは、左側領域4L、右側領域4Rの画素13の画素データが順次に算出される。左セレクタ42Lは、左側分割画像の対応する4つの画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択し、右セレクタ42Rは、右側分割画像の対応する4つの画素の画素データを、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として選択する。左スケーラ回路25Lは、左側領域4Lの画素13の画素データを、左側分割画像の対応する4つの画素の画素データの直線補間によって算出し、右スケーラ回路25Rは、右側領域4Rの画素13の画素データを、右側分割画像の対応する4つの画素の画素データの直線補間によって算出する。
【0107】
カウント値XBufが“Xsize−1”になるクロックサイクル(カウント値Xが“Xsize−1”になるクロックサイクルの次のクロックサイクル)では、左側領域4L、右側領域4Rの右端の画素13の画素データが算出される。左セレクタ42Lは、左スケーラ回路25Lに送られる4画素の画素データのうち2画素の画素データLP00、LP10として右セレクタ42Rから受け取った画素データRBuf0、RBuf1を選択し、更に、画素データLP01、LP11としてLRAM22Lと左ラインバッファLLB0から読み出された左側分割画像の右端の画素の画素データを選択する。このような動作により、右側分割画像の左端の画素の画素データが左セレクタ42Lを介して左スケーラ回路25Lに送られる。左スケーラ回路25Lは、左側領域4Lの右端の画素13の画素データを、左側分割画像の右端の画素の画素データと右側分割画像の左端の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0108】
このとき、右セレクタ42Rは、RRAM22Rと右ラインバッファRLB0から読み出された右側分割画像の右端の画素の画素データを、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として選択する。この結果、右スケーラ回路25Rは、右側領域4Rの右上隅の画素13の画素データを、右側分割画像の右端の画素及びそのコピー画素の画素データの直線補間によって算出する。
【0109】
((Y+1)/2)%2=0の場合(
図21参照)の動作は、左ラインバッファLLB0、右ラインバッファRLB0にLRAM22L、RRAM22Rから読み出された画素データの書き込みが行われ、左ラインバッファLLB1、右ラインバッファRLB1から左スケーラ回路25L、右スケーラ回路25Rに送られる画素データが読み込まれることを除けば、((Y+1)/2)%2=1の場合(
図20参照)の動作と同様である。
【0110】
上述された本実施形態のスケーリング処理において、左セレクタ42Lが右セレクタ42Rから画素データを受け取るタイミング及び右セレクタ42Rが左セレクタ42Lから画素データを受け取るタイミングは、左スケーラ回路25L及び右スケーラ回路25Rが画素データを処理する順序に応じて決定されていることに留意されたい。
図19〜
図21に図示されている動作では、左スケーラ回路25L及び右スケーラ回路25Rは、それぞれ、左側領域4L、右側領域4Rの画素13の画素データを左から右の順序で生成する。このため、右セレクタ42Rは、右スケーラ回路25Rに最初に送られる4画素の画素データRP00、RP01、RP10、RP11の選択のときに(即ち、右側領域4Rの左端の画素13の画素データの生成のときに)左セレクタ42Lから送られる画素データLBuf0、Lbuf1を選択する。また、左セレクタ42Lは、左スケーラ回路25Lに最後に送られる4画素の画素データLP00、LP01、LP10、LP11の選択のときに(即ち、左側領域4Lの右端の画素13の画素データの生成のときに)右セレクタ42Rから送られる画素データRBuf0、Rbuf1を選択する。
【0111】
左マルチプレクサ回路34Lの画素データフリップフロップ43Lは、LRAM22L、左ラインバッファLLB0、LLB1から読み出された画素データのうち右スケーラ回路25Rに送るべき画素データが、右スケーラ回路25Rにおいて実際に必要になる時点まで当該画素データを保持する重要な役割をしている。同様に、右マルチプレクサ回路34Rの画素データフリップフロップ43Rは、RRAM22R、右ラインバッファRLB0、RLB1から読み出された画素データのうち左スケーラ回路25Lに送るべき画素データが、左スケーラ回路25Lにおいて実際に必要になる時点まで当該画素データを保持する重要な役割をしている。
【0112】
例えば、左マルチプレクサ回路34Lの画素データフリップフロップ43Lは、右セレクタ42Rが左セレクタ42Lから送られる画素データLBuf0、Lbuf1を選択する時点まで(即ち、右側領域4Rの左端の画素13の画素データが生成される時点まで)左側分割画像の右端の画素の画素データを保持する。また、右マルチプレクサ回路34Rの画素データフリップフロップ43Rは、左セレクタ42Lが右セレクタ42Rから送られる画素データRBuf0、Rbuf1を選択する時点まで(即ち、左側領域4Lの右端の画素13の画素データが生成される時点まで)右側分割画像の左端の画素の画素データを保持する。
【0113】
なお、左スケーラ回路25L及び右スケーラ回路25Rが画素データを処理する順序は、適宜に変更可能である。この場合、左セレクタ42Lが右セレクタ42Rから画素データを受け取るタイミング及び右セレクタ42Rが左セレクタ42Lから画素データを受け取るタイミングは、左スケーラ回路25L及び右スケーラ回路25Rが画素データを処理する順序に応じて適宜に変更される。
【0114】
例えば、左スケーラ回路25Lが左側領域4Lの画素13の画素データを左から右の順序で生成し、右スケーラ回路25Rが右側領域4Rの画素13の画素データを右から左の順序で生成する場合を考える。この場合、左側領域4L、右側領域4Rの境界に接する画素13の画素データが、最後に生成されることになる。この場合でも、左マルチプレクサ回路34L、右マルチプレクサ回路34Rの画素データフリップフロップ43L、43Rは、LRAM22L、RRAM22Rからそれぞれ読み出された画素データが、それぞれ、右スケーラ回路25R、左スケーラ回路25Lにおいて実際に必要になる時点まで当該画素データを保持する。画素データフリップフロップ43Lは、右セレクタ42Rが右スケーラ回路25Rに最後に送られる4画素の画素データRP00、RP01、RP10、RP11を選択する時点(即ち、右側領域4Rの左端の画素13の画素データが生成される時点)まで、左セレクタ42Lから右セレクタ42Rに送られる画素データLBuf0、LBuf1を保持する。同様に、画素データフリップフロップ43Rは、左セレクタ42Lが左スケーラ回路25Lに最後に送られる4画素の画素データLP00、LP01、LP10、LP11を選択する時点(即ち、左側領域4Lの右端の画素13の画素データが生成される時点)まで、右セレクタ42Rから左セレクタ42Lに送られる画素データRBuf0、RBuf1を保持する。
【0115】
以上に説明されているように、本実施形態のスケーリング処理では、元画像の左側分割画像の各画素の画素データに加え、右側分割画像の左側分割画像に隣接する部分の画素の画素データ(境界画素データ)が左スケーラ回路25Lに供給され、左スケーラ回路25Lは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って左側領域4Lの画素13の画素データを算出する。更に、元画像の右側分割画像の各画素の画素データに加え、左側分割画像の右側分割画像に隣接する部分の画素の画素データ(境界画素データ)が右スケーラ回路25Rに供給され、右スケーラ回路25Rは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って右側領域4Rの画素13の画素データを算出する。このような動作によれば、表示領域4に表示される表示画像における、左側領域4Lと右側領域4Rに表示される表示画像の不連続性を抑制することができる。
【0116】
ここで、本実施形態では、左スケーラ回路25Lによって画素データが生成される画素13と、右スケーラ回路25Rによって画素データが生成される画素13とが重複しないことに留意されたい。左スケーラ回路25Lは、左側領域4Lの画素13の画素データを算出する一方で、右側領域4Rの画素13の画素データの算出には何ら関与しない。また、右スケーラ回路25Rは、右側領域4Rの画素13の画素データを算出する一方で、左側領域4Lの画素13の画素データの算出には何ら関与しない。これは、簡素な演算処理によるスケーリング処理を実現するために有用である。特開2005−164347号公報に開示された超解像処理では、分割した拡大画像を合成する際に重複した範囲が設けられるので、複雑な演算処理を必要とする。一方、本実施形態では、左スケーラ回路25Lによって画素データが生成される画素13と、右スケーラ回路25Rによって画素データが生成される画素13とが重複しないので、簡素な演算処理によるスケーリング処理が実現されている。これは、左スケーラ回路25Lと右スケーラ回路25Rとの回路規模を低減するために有効である。
【0117】
また、上記には、左スケーラ回路25L、右スケーラ回路25Rが、バイリニア法によるスケーリング処理(拡大処理)を行う場合の実施形態を説明したが、他の補間方法によってスケーリング処理(拡大処理)を行うことも可能である。例えば、左スケーラ回路25L、右スケーラ回路25Rが、バイキュービック法によるスケーリング処理を行ってもよい。この場合、元画像の左側分割画像の各画素の画素データに加え、右側分割画像の左端の2列の画素の画素データが左スケーラ回路25Lに供給され、左スケーラ回路25Lは、供給されたこれらの画素データに対してスケーリング処理を行って左側領域4Lの画素13の画素データを算出する。更に、元画像の右側分割画像の各画素の画素データに加え、左側分割画像の右端の2列の画素の画素データが右スケーラ回路25Rに供給され、右スケーラ回路25Rは、供給されたこれらの画素データに対してスケーリング処理を行って右側領域4Rの画素13の画素データを算出する。
【0118】
上記の実施形態では、LRAM22Lに元画像の左側分割画像の左画像画素データD
IN_Lが格納され、RRAM22Rに元画像の右側分割画像の右画像画素データD
IN_Rが格納されるが、左側分割画像の左画像画素データD
IN_Lに加えて右側分割画像の左端の部分の画素の画素データ(境界画素データ)がLRAM22Lに格納され、右側分割画像の右画像画素データD
IN_Rに加えて左側分割画像の右端の部分の画素の画素データ(境界画素データ)がRRAM22Rに格納されてもよい。例えば、左スケーラ回路25L、右スケーラ回路25Rにおいてバイリニア法によるスケーリング処理が行われる場合、左画像画素データD
IN_Lに加えて右側分割画像の左端の列の画素の画素データがLRAM22Lに格納され、右画像画素データD
IN_Rに加えて左側分割画像の右端の列の画素の画素データがRRAM22Rに格納される。また、左スケーラ回路25L、右スケーラ回路25Rにおいてバイキュービック法によるスケーリング処理が行われる場合、左画像画素データD
IN_Lに加えて右側分割画像の左端の2列の画素の画素データがLRAM22Lに格納され、右画像画素データD
IN_Rに加えて左側分割画像の右端の2列の画素の画素データがRRAM22Rに格納される。このような場合、左側分割画像の右端の部分の画素の画素データと右側分割画像の左端の部分の画素の画素データとは、LRAM22LとRRAM22Rに重複して格納されることになる。これらの画素データのことを、以下では、重複画素データと呼ぶことがある。
【0119】
左側分割画像の右端の画素の画素データと右側分割画像の左端の画素の画素データとがLRAM22LとRRAM22Rに重複して格納される場合、RAMアクセスロジック回路24の左マルチプレクサ回路34Lと右マルチプレクサ回路34Rは、画素データを交換する機能を有する必要がない。
図22は、このような場合の左マルチプレクサ回路34Lと右マルチプレクサ回路34Rの構成を示すブロック図である。
図22の構成では、
図15に図示された構成とは異なり、左マルチプレクサ回路34Lから画素データフリップフロップ43Lが除去され、右マルチプレクサ回路34Rから画素データフリップフロップ43Rが除去されている。左側領域4Lの右端の画素13の画素データが算出される場合、左マルチプレクサ回路34Lは、LRAM22Lに格納されている左側分割画像の右端の画素の画素データと、同じくLRAM22Lに格納されている右側分割画像の左端の画素の画素データとを左スケーラ回路25Lに送る。また、右側領域4Rの左端の画素13の画素データが算出される場合、右マルチプレクサ回路34Rは、RRAM22Rに格納されている右側分割画像の左端の画素の画素データと、同じくRRAM22Rに格納されている左側分割画像の右端の画素の画素データとを右スケーラ回路25Rに送る。これにより、上述された本実施形態のスケーリング処理と同様のスケーリング処理を実現することができる。
【0120】
また、
図9の構成ではドライバIC3が2つのポートから元画像の左側分割画像の左画像画素データD
IN_L及び右側分割画像の右画像画素データD
IN_Rを受け取るのに対し、
図23に図示されているように、ドライバIC3が1つのポートから元画像の画素データD
INを受け取るように構成されてもよい。この場合、インターフェース/タイミングコントローラ21は、受け取った元画像の画素データD
INのうち、元画像の左側分割画像の左画像画素データD
IN_LをLRAM22Lに転送し、右側分割画像の右画像画素データD
IN_RをRRAM22Rに転送する。
【0121】
図23の構成においても、左側分割画像の右端の画素の画素データ(境界画素データ)と右側分割画像の左端の画素の画素データ(境界画素データ)とをLRAM22LとRRAM22Rに重複して格納してもよい。この場合、インターフェース/タイミングコントローラ21は、元画像の左側分割画像の左画像画素データD
IN_Lに加えて右側分割画像の左端の部分の画素の画素データをLRAM22Lに転送し、右側分割画像の右画像画素データD
IN_Rに加えて左側分割画像の右端の画素の画素データをRRAM22Rに転送する。
【0122】
図24は、1つのポートから元画像の画素データD
INを受け取る構成のドライバIC3におけるLRAM22L、RRAM22Rへの画素データの書き込み動作の例を示すタイミングチャートである。簡単のため、
図24には、元画像の一の水平ラインの画素の画素データの書き込み動作が図示されている。
【0123】
まず、元画像の画素データD
INとして左側分割画像の画素の画素データが、順次にインターフェース/タイミングコントローラ21に供給される。
図24の動作では、左側分割画像の画素の画素データが左端の画素から右端の画素の順序でインターフェース/タイミングコントローラ21に供給されている。
【0124】
インターフェース/タイミングコントローラ21は、左側分割画像の画素の画素データ(左画像画素データD
IN_L)を、順次にLRAM22Lに格納していく。ここで、左側分割画像の右端の画素の画素データが供給されると、インターフェース/タイミングコントローラ21は、この画素データをLRAM22LのみならずRRAM22Rにも格納する。左側分割画像の右端の画素の画素データは、重複画素データとしてLRAM22L、RRAM22Rの両方に格納されることになる。
【0125】
続いて、画素データD
INとして右側分割画像の画素の画素データが、順次にインターフェース/タイミングコントローラ21に供給される。
図24の動作では、右側分割画像の画素の画素データも左端の画素から右端の画素の順序でインターフェース/タイミングコントローラ21に供給されている。
【0126】
インターフェース/タイミングコントローラ21は、右側分割画像の画素の画素データ(右画像画素データD
IN_R)を、順次にRRAM22Rに格納していく。ここで、右側分割画像の左端の画素の画素データが供給されると、インターフェース/タイミングコントローラ21は、この画素データをRRAM22RのみならずLRAM22Lにも格納する。右側分割画像の左端の画素の画素データは、重複画素データとしてLRAM22L、RRAM22Rの両方に格納されることになる。
【0127】
図25は、左側分割画像の左画像画素データD
IN_Lに加えて右側分割画像の左端の部分の画素の画素データがLRAM22Lに格納され、右側分割画像の右画像画素データD
IN_Rに加えて左側分割画像の右端の部分の画素の画素データがRRAM22Rに格納される場合のRAMアクセスロジック回路24の動作、特に、左マルチプレクサ回路34L、右マルチプレクサ回路34Rの動作を示すタイミングチャートである。
図25には、カウント値Yが“0”である場合、即ち、表示領域4の上端の画素13の画素データが生成される場合の動作が図示されているが、カウント値Yが他の値をとる場合も、左ラインバッファLLB0、LLB1、右ラインバッファRLB0、RLB1へのアクセスが異なるだけで、ほぼ同様の動作が行われる。
【0128】
図25の動作においても、RAMアクセスロジック回路24は、元画像の左側分割画像の各画素の画素データに加え、右側分割画像の左側分割画像に隣接する部分の画素(詳細には、右側分割画像の左端の列の画素)の画素データを左スケーラ回路25Lに供給する。また、RAMアクセスロジック回路24は、元画像の右側分割画像の各画素の画素データに加え、左側分割画像の右側分割画像に隣接する部分の画素(詳細には、左側分割画像の右端の列の画素)の画素データを右スケーラ回路25Rに供給する。左スケーラ回路25Lは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って左側領域4Lの画素13の画素データを算出し、右スケーラ回路25Rは、供給されたこれらの画素データに対してスケーリング処理(拡大処理)を行って右側領域4Rの画素13の画素データを算出する。このような動作によれば、表示領域4に表示される表示画像における、左側領域4Lと右側領域4Rに表示される表示画像の不連続性を抑制することができる。
【0129】
Xカウンタ31のカウント値Xが“−1”であるクロックサイクルにおいては、LRAM22Lの読み出しアドレスが、左側分割画像の左端の画素の画素データのアドレスを指定するように設定され、RRAM22Rの読み出しアドレスが、左側分割画像の右端の画素の画素データのアドレスを指定するように設定される。カウント値Xが“−1”であるクロックサイクルにおいてはLRAM22L、RRAM22Rの読み出しアドレスが“0,0”に設定されていることに留意されたい。
【0130】
続いて、カウント値Xが“0”であるクロックサイクル(即ち、Xアドレスフリップフロップ41L、41Rのカウント値XBufが“−1”であるクロックサイクル)において、LRAM22Lから左側分割画像の左端の画素の画素データが読み出され、RRAM22Rから左側分割画像の右端の画素の画素データが読み出される。更に、LRAM22Lから読み出された左側分割画像の左端の画素の画素データが、左ラインバッファLLB0に書き込まれ、RRAM22Rから読み出された左側分割画像の右端の画素の画素データが、右ラインバッファRLB0に書き込まれる。
【0131】
加えて、カウント値Xが“0”であるクロックサイクルでは、左側領域4Lの左端の画素13の画素データが算出される。左セレクタ42Lは、LRAM22Lから読み出した左側分割画像の左端の画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択する。この結果、左スケーラ回路25Lは、左側領域4Lの左上隅の画素13の画素データを、左側分割画像の左上隅の画素及びそのコピー画素の画素データの直線補間によって算出する。このとき、左マルチプレクサ回路34Lの画素データフリップフロップ44L〜47Lには、いずれも、左側分割画像の左端の画素の画素データが保持される。
【0132】
このとき、右マルチプレクサ回路34Rの画素データフリップフロップ44R、46Rには、RRAM22Rから読み出された左側分割画像の右端の画素の画素データが保持される。
【0133】
続いて、カウント値Xが“1”であるクロックサイクル(即ち、カウント値XBufが“0”であるクロックサイクル)では、左側領域4Lの左から2番目の画素13及び右側領域4Rの左端の画素13の画素データが算出される。詳細には、LRAM22Lから左側分割画像の左から2番目の画素の画素データが読み出され、また、RRAM22Rから右側分割画像の左端の画素の画素データが読み出される。
【0134】
このとき、左セレクタ42Lは、画素データフリップフロップ44L、46Lに保持されている画素データ(画素データLP00、LP10)を、左スケーラ回路25Lに送られる画素データLP01、LP11として選択し、LRAM22Lから読み出された左側分割画像の左から2番目の画素の画素データを、左スケーラ回路25Lに送られる画素データLP00、LP10として選択する。この結果、左スケーラ回路25Lは、左側領域4Lの上端の左から2番目の画素13の画素データを、左側分割画像の左上隅の画素、左側分割画像の上端の左から2番目の画素の画素、及び、それらのコピー画素の画素データの直線補間によって算出する。
【0135】
一方、右セレクタ42Rは、右スケーラ回路25Rに送られる4画素の画素データのうちの2画素の画素データRP00、RP10としてRRAM22Rから読み出した右側分割画像の左端の画素の画素データを選択し、更に、画素データRP01、RP11として画素データフリップフロップ44R、46Rに保持されている左側分割画像の右端の画素の画素データを選択する。右スケーラ回路25Rは、右側領域4Rの左上隅の画素13の画素データを、右側分割画像の左上隅の画素の画素データと左側分割画像の右上隅の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0136】
以後、カウント値Xが“Xsize−1”になるクロックサイクルまでは、左側領域4L、右側領域4Rの上端の画素13の画素データが順次に算出される。左セレクタ42Lは、左側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データを、左スケーラ回路25Lに送られる4画素の画素データLP00、LP01、LP10、LP11として選択し、右セレクタ42Rは、右側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データを、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として選択する。左スケーラ回路25Lは、左側領域4Lの上端の画素13の画素データを、左側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データの直線補間によって算出し、右スケーラ回路25Rは、右側領域4Rの上端の画素13の画素データを、右側分割画像の上端の対応する2つの画素及びそのコピー画素の画素データの直線補間によって算出する。
【0137】
カウント値Xが“Xsize−1”になるクロックサイクルでは、左側領域4Lの右端の画素13の画素データと、右側領域4Rの右から2番目の画素13の画素データが算出される。このとき、左セレクタ42Lは、左スケーラ回路25Lに送られる4画素の画素データのうち2画素の画素データLP00、LP10としてLRAM22Lから読み出した右側分割画像の左端の画素の画素データを選択し、更に、画素データLP01、LP11として、画素データフリップフロップ44L、46Lに保持されている画素データ、即ち、左側分割画像の右端の画素の画素データを選択する。左スケーラ回路25Lは、左側領域4Lの右上隅の画素13の画素データを、左側分割画像の右上隅の画素の画素データと右側分割画像の左上隅の画素の画素データとの直線補間によって算出する。このような演算は、元画像を分割せずにスケーリング処理を行った場合の演算と同一であり、左側領域4Lと右側領域4Rとの境界における不自然な不連続性を抑制することに寄与する。
【0138】
なお、このクロックサイクルでは、右セレクタ42Rは、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として、右側分割画像の上端の右から2番目の画素の画素データと右上隅の画素の画素データとを選択する。右スケーラ回路25Rは、右側領域4Rの上端の右から2番目の画素13の画素データを、右側分割画像の上端の右から2番目の画素の画素データと右上隅の画素の画素データとの直線補間によって算出する。
【0139】
また、カウント値XBufが“Xsize−1”になるクロックサイクル(カウント値Xが“Xsize−1”になるクロックサイクルの次のクロックサイクル)では、右側領域4Rの右端の画素13の画素データが算出される。このとき、右セレクタ42Rは、右スケーラ回路25Rに送られる4画素の画素データRP00、RP01、RP10、RP11として、右側分割画像の右上隅の画素の画素データとそのコピー画素の画素データとを選択する。右スケーラ回路25Rは、右側領域4Rの右上隅の画素13の画素データを、右側分割画像の右上隅の画素の画素データとそのコピー画素の直線補間によって算出する。
【0140】
以上には、本発明の様々な実施形態が具体的に説明されているが、本発明は、上述の実施形態に限定されるものではない。本発明が様々な変更と共に実施され得ることは、当業者には自明的であろう。特に、上記では、本発明が、液晶表示装置において液晶表示パネルを駆動するドライバICに適用されている実施形態が記述されているが、本発明は、他の表示装置において表示パネル(例えば、OLED(organic light emitting diode)表示パネルやプラズマ表示パネル)を駆動する表示パネルドライバに適用可能である。