JP4470762B2 - 画像処理装置、表示コントローラ及び電子機器 - Google Patents

画像処理装置、表示コントローラ及び電子機器 Download PDF

Info

Publication number
JP4470762B2
JP4470762B2 JP2005063493A JP2005063493A JP4470762B2 JP 4470762 B2 JP4470762 B2 JP 4470762B2 JP 2005063493 A JP2005063493 A JP 2005063493A JP 2005063493 A JP2005063493 A JP 2005063493A JP 4470762 B2 JP4470762 B2 JP 4470762B2
Authority
JP
Japan
Prior art keywords
image
pixel data
magnification
coefficient
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005063493A
Other languages
English (en)
Other versions
JP2006253759A (ja
Inventor
禎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005063493A priority Critical patent/JP4470762B2/ja
Publication of JP2006253759A publication Critical patent/JP2006253759A/ja
Application granted granted Critical
Publication of JP4470762B2 publication Critical patent/JP4470762B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置、表示コントローラ及び電子機器に関する。
携帯電話機等のカメラモジュールを内蔵する携帯型の電子機器においては、カメラモジュールが取り込んだ画像を液晶表示(Liquid Crystal Display:LCD)パネル等の電気光学装置の画面に表示させることができるようになっている。この際、電気光学装置の画面サイズや、取り込んだ画像のデータを保存するメモリ容量を考慮して、取り込んだ画像のサイズが拡大されたり、縮小されたりする。
このような画像の拡大及び縮小を行う画像処理装置が、例えば特許文献1に開示されている。この画像処理装置では、処理前の画像の画素数を除数、処理後の画像の画素数を被除数として、画像の拡大又は縮小の倍率が求められる。そして、得られた倍率の逆数を累積加算することにより、処理後の画像の画素毎の線形補間のための補間係数が求められる。
特開平9−326958号公報
しかしながら、従来の画像処理装置では、処理後の画素を補間するための補間係数として、累積加算結果をそのまま用いていた。この補間係数を用いた画素の補間処理は、一種のフィルタ処理である。従って、累積加算結果をそのまま用いたとしても、所望のフィルタ特性関数を得ることができず、処理後の画像の劣化を招く場合がある。
また、拡大処理又は縮小処理により処理後の画像の空間周波数(Spatial frequency)が変化するため、フィルタ処理で得られるフィルタ特性関数もまた変化させる必要がある。それにもかかわらず、累積加算結果をそのまま画素の補間係数として用いると、拡大又は縮小の倍率によっては画質を劣化させてしまう。従って、拡大処理又は縮小処理後の画像の劣化を防止するためには、拡大又は縮小の倍率に応じて、画素の補間係数を変化させることが望ましい。
更にまた従来の画像処理装置では、処理前と処理後の画像の画素数を設定するようにしていたため、倍率の逆数を求めるために割り算器が必要となり、回路規模が大きくなる。
更にまた従来の画像処理装置では、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がある。そのため、電気光学装置の画面サイズの拡大に伴い、画素カウンタで用いる必要なビット数が増加してしまう。更に画素カウンタのビット数が定まってしまうため、画像サイズの上限が固定化されてしまい、電気光学装置の画面サイズの拡大に対応できなくなる場合がある。
更にまた従来の画像処理装置では、その制御を行うためのファームウェア(ソフトウェア)において、上述の処理前と処理後の画像の画素数の他に、画像の拡大又は縮小を指定する動作モードを設定する必要がある。このような画像処理装置を制御する場合、ファームウェアはエラー処理についても指定する必要があり、ファームウェアのコード量を増加させてしまう。
図19(A)に、従来の画像処理装置の制御を行うためのファームウェアのコードの一例を示す。
入力画像を指定するパラメータ、出力画像を指定するパラメータ、及び倍率の他に、拡大又は縮小を指定する動作のモードを指定する必要がある場合、画像処理装置に拡大処理を指示するフローと縮小処理を指示するフローのそれぞれに、エラー処理を盛り込む必要がある。このため、ファームウェアのコード量を増加させてしまう。
これに対して、画像処理装置に、画像の拡大又は縮小を指定する動作モードを設定する必要がない場合には、該画像処理装置を制御するファームウェアのコード量を大幅に削減できる。
図19(B)に、画像の拡大又は縮小を指定する動作モードを設定する必要がない画像処理装置の制御を行うためのファームウェアのコードの一例を示す。
この場合、入力画像を指定するパラメータ、出力画像を指定するパラメータ、及び倍率のみを指定できればよいので、図19(A)に示すような各フローにエラー処理を盛り込むことなく、図19(B)に示すようにファームウェアのコード量を小さくできる。
このように画像処理装置は、倍率を変更する度に動作モードを指定する必要がなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレス(seamless)に実行できることが望ましい。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その第1の目的とするところは、拡大又は縮小の倍率が変化しても処理後の画質の劣化を防止できる画像処理装置、表示コントローラ及び電子機器を提供することにある。
更に本発明の第2の目的は、回路規模を削減すると共に、拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理を実行できる画像処理装置、表示コントローラ及び電子機器を提供することにある。
上記課題を解決するために本発明は、
入力画像の拡大及び縮小処理を行うための画像処理装置であって、
各係数メモリに、前記入力画像の拡大又は縮小処理後の画像の画素データを求めるための係数群が記憶される第1〜第N(Nは2以上の整数)の係数メモリと、
前記入力画像の画素データと前記第1〜第Nの係数メモリのいずれか1つからの係数群に含まれる係数との積和演算を行って前記拡大処理又は縮小処理後の画素データを生成するフィルタ演算部とを含み、
前記フィルタ演算部が、
前記入力画像を拡大する倍率又は前記入力画像を縮小する倍率に応じて前記第1〜第Nの係数メモリの中から選択された1つの係数メモリに記憶された係数を用いて前記拡大処理又は縮小処理後の画素データを生成する画像処理装置に関係する。
また本発明に係る画像処理装置では、
前記入力画像を拡大又は縮小する倍率の逆数が設定される倍率設定レジスタを含み、
前記倍率の逆数に基づき前記第1〜第Nの係数メモリの中から選択された1つの係数メモリから、前記倍率の逆数の累積加算結果の小数部の少なくとも一部に対応した係数を読み出すことができる。
また本発明に係る画像処理装置では、
前記入力画像又は処理後の画像の垂直同期信号に同期して、前記倍率の逆数に基づき前記第1〜第Nの係数メモリの中から1つの係数メモリを選択し、選択された係数メモリから前記係数を読み出すことができる。
上記のいずれかの発明における処理後の画素データは、一種のフィルタ処理後のデータである。そのため、拡大処理又は縮小処理により処理後の画像の空間周波数が変化するため、フィルタ処理で得られるフィルタ特性関数もまた変化させる必要がある。従って、拡大又は縮小の倍率に応じて係数を変化させないと、所望のフィルタ特性関数を得ることができず、処理後の画像の劣化を招く場合がある。上記のいずれかの発明によれば、拡大又は縮小の倍率に応じて、係数を変化させることができるので、処理後の画像の劣化を防止できる。
また本発明に係る画像処理装置では、
前記倍率の逆数を累積加算するアキュームレータを含み、
前記倍率の逆数の整数部が0のとき、前記入力画像に対して行われた拡大処理後の画像の画素データを出力し、
前記倍率の逆数の整数部が0ではないとき、前記入力画像に対して行われた縮小処理後の画像の画素データを出力し、
前記縮小処理時には、前記アキュームレータの累積加算結果に基づいて、前記入力画像を構成する画素単位に間引きすべきか否かを指定するバリッド信号を出力することができる。
本発明によれば、上記の効果に加えて、画像の拡大処理間及び縮小処理を行うために、倍率を求める目的で、処理前と処理後の画像の画素数を設定する必要がなくなるため、割り算器を省略する構成を採用できるようになる。更に、画像の拡大又は縮小処理を行うために累積加算される倍率の逆数の整数部に基づいて、画像の拡大処理又は縮小処理を行うことができる。従って、画像処理装置に対して拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレスに実行できるようになる。このため、例えば図19(B)に示すように、画像処理装置を制御するためのファームウェアのコード量を削減できるようになる。
更にまた縮小処理時において、画素単位に間引きすべきか否かを示すバリッド信号を出力できるようになるため、画像処理装置の後段の装置は、該バリッド信号に基づいて画素を容易に間引きすることが可能となる。そして、画像処理装置が縮小処理後の画素データを求めると共にバリッド信号を生成するため、縮小処理後の画素データを求めた後、別の手段でバリッド信号を生成する必要がなくなる。
また本発明に係る画像処理装置では、
前記入力画像の画素データと前記アキュームレータの出力とに基づいて積和演算を行って前記拡大処理又は縮小処理後の画素データを生成するフィルタ演算部を含み、
前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0ではないとき、
前記フィルタ演算部の処理対象の画素データを更新し、該更新後の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0のとき、
前記フィルタ演算部の処理対象の画素データを更新することなく、前回の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0ではないとき、
前記累積加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の出力を更新せず、
前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0のとき、
前記倍率の逆数と前記アキュームレータの出力との加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の処理対象の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記縮小処理後の画像の画素データを生成することができる。
本発明によれば、上記の効果に加えて、倍率の逆数の累積加算結果に基づく画像の拡大処理及び縮小処理を、ほぼ同じリソースで実現できるため、画像処理装置に対して拡大又は縮小を指定する必要がなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレスに実行できる。
また本発明によれば、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がなくなる。そのため電気光学装置の画面サイズの拡大に伴い、画素カウンタで用いる必要なビット数が増加してしまう。更に画素カウンタのビット数が定まってしまうため、画像サイズの上限が固定化されてしまい、電気光学装置の画面サイズの拡大に対応できなくなる事態を回避できる。
また本発明は、
入力画像の画素データが入力される画素データ入力インタフェースと、
前記画素データ入力インタフェースを介して入力された前記入力画像の拡大又は縮小処理を行う第1のスケーラ回路と、
前記第1のスケーラ回路の処理後のデータを保存するフレームバッファと、
前記フレームバッファから読み出された画素データにより表される画像の拡大又は縮小処理を行う第2のスケーラ回路と、
前記第2のスケーラ回路の処理後のデータを出力するためのインタフェース処理を行う出力インタフェースとを含み、
前記第1及び第2のスケーラ回路の少なくとも1つは、
画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部と、
前記画像の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部とを含み、
前記水平方向画像処理部及び前記垂直方向画像処理部の少なくとも1つは、
上記のいずれか記載の画像処理装置を含む表示コントローラに関係する。
本発明によれば、拡大又は縮小の倍率が変化しても処理後の画質の劣化を防止できる表示コントローラを提供できる。
また本発明によれば、回路規模を削減すると共に、拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理を実行できる表示コントローラを提供できる。
また本発明は、
表示パネルと、
上記記載の表示コントローラと、
前記表示コントローラによって供給される画素データに基づいて前記表示パネルを駆動する表示ドライバとを含む電子機器に関係する。
本発明によれば、拡大又は縮小の倍率が変化しても処理後の画質の劣化を防止できる電子機器を提供できる。
また本発明によれば、回路規模を削減すると共に、拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理を実行できる電子機器を提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
1. 画像処理装置
図1に、本実施形態における画像処理装置の構成の概要のブロック図を示す。
この画像処理装置100は、入力画像の画素データに対し、画像の拡大処理及び縮小処理を行う。より具体的には、画像処理装置100は、倍率設定レジスタ10とシームレス画素処理部20とを含む。倍率設定レジスタ10には、入力画像を拡大又は縮小する倍率の逆数が設定される。シームレス画素処理部20は、拡大又は縮小を指定されることなく、倍率設定レジスタ10に設定された倍率の逆数に応じて、入力画像の画素データに対して拡大処理又は縮小処理を行い、処理後の画素データを出力する。
倍率設定レジスタ10に設定された倍率の逆数の整数部が0のとき、シームレス画素処理部20が、入力画像に対して行われた拡大処理後の画像の画素データを出力する。また倍率の逆数の整数部が0ではないとき、シームレス画素処理部20が、入力画像に対して行われた縮小処理後の画像の画素データを出力する。
こうすることで、画像処理装置100を制御するためのファームウェアは、倍率を指定する一方で、画像の拡大又は縮小を指定する動作モードを設定する必要がなくなる。そのため、図19(B)に示すようにファームウェアのコード量を大幅に削減できる。
また画像処理装置100のシームレス画素処理部20は、倍率の逆数を累積加算するアキュームレータ30を含むことができる。そして、シームレス画素処理部20(アキュームレータ30)は、縮小処理時において、アキュームレータ30の累積加算結果に基づいて、入力画像を構成する画素単位に間引きすべきか否かを指定するバリッド信号validを出力することができる。
図2に、処理後の画素データとバリッド信号validとの関係の一例を示す。
バリッド信号validは、各画素の画素データ毎にHレベル又はLレベルに変化する。例えばバリッド信号validがHレベルの期間の画素データが有効であることを示し、バリッド信号validがLレベルの期間の画素データが無効であることを示す。従って、画像処理装置100から、処理後の画素データ及びバリッド信号validを受けた回路では、バリッド信号validに基づいて、各画素の画素データについて、縮小処理によって間引きすべきか否かを判断できる。そのため、該回路では、バリッド信号validに基づいて、間引きすべきであると判断された画素データを、処理後の画素データから間引くことができる。
図1において、シームレス画素処理部20は、更にフィルタ演算部40を含むことができる。フィルタ演算部40は、アキュームレータ30の累積加算結果に対応したフィルタ係数を用いて、入力画像の画素データに対してフィルタ処理を行う。フィルタ処理後の画素データが、拡大又は縮小処理後の画素データとなる。即ち、フィルタ演算部40は、拡大又は縮小処理後の画素の画素データに対して、1又は複数の画素間を補間するためにフィルタ処理を行う。そのため、シームレス画素処理部20は、更に係数ルックアップテーブル(look-up table:LUT)50を含む。
係数LUT50には、フィルタ処理を行うためのフィルタ係数を予め設定しておく。そして、アキュームレータ30の累積加算結果に対応したフィルタ係数が係数LUT50から読み出されるようにすることで、フィルタ演算部40のフィルタ処理後の画像の画質劣化を防止できるようになる。
係数LUT50は、第1〜第N(Nは2以上の整数)の係数メモリ52−1〜52−Nを含む。各係数メモリに、入力画像の拡大又は縮小処理後の画像の画素データを求めるための係数が記憶される。そして倍率設定レジスタ10に設定された倍率の逆数に応じて、第1〜第Nの係数メモリ52−1〜52−Nのいずれか1つの係数がフィルタ演算部40に供給される。より具体的には、倍率の逆数に基づき第1〜第Nの係数メモリ52−1〜52−Nの中から選択された1つの係数メモリから、倍率の逆数の累積加算結果の小数部の少なくとも一部に対応した係数を読み出す。従って、フィルタ演算部40は、入力画像を拡大する倍率又は入力画像を縮小する倍率に応じて第1〜第Nの係数メモリ52−1〜52−Nの中から選択された1つの係数メモリに記憶された係数を用いて拡大処理又は縮小処理後の画素データを生成することができる。
なお図1では、倍率設定レジスタ10の設定値に応じて係数LUT50の第1〜第Nの係数メモリ52−1〜52−Nのいずれか1つが選択されるものとしているが、これに限定されるものではない。例えば係数メモリ選択レジスタを設け、係数メモリ選択レジスタの設定値に応じて係数LUT50の第1〜第Nの係数メモリ52−1〜52−Nのいずれか1つが選択されてもよい。
1.1 画像の拡大処理と縮小処理
ここで本実施形態における画像の拡大処理と縮小処理の内容について、具体的に説明する。
図3に、本実施形態における画像の拡大処理及び縮小処理の説明図を示す。
図3では、画像の水平方向(水平走査方向)に元画像の画素が並ぶ場合に、これらの画素に対して処理を行う場合について説明するが、画像の垂直方向(垂直走査方向)に元画像の画素が並ぶ場合に、これらの画素に対して処理を行う場合も同様である。
図3では、各画素間のドットピッチが正規化された状態で、元画像の水平方向の画素P、P、P、P、P、・・・が並ぶ。即ち、元画像の水平方向の画素の各画素間の距離が1であるものとする。
拡大処理においては、元画像の画素P、P、・・・に対し、拡大処理後の画像の画素PZ1、PZ2、・・・が生成される。拡大処理後の画像の画素PZ1、PZ2、・・・は、間引きされることはない。
一方、縮小処理においては、元画像の画素P、P、・・・に対し、拡大処理後の画像の画素PS1、PS2、・・・が生成される。縮小処理後の画像の画素PS1、PS2、・・・のいずれかは間引きされるため、処理後の画像の画素PS1、PS2、・・・のそれぞれに対して間引きすべきか否かが指定される。この結果、図2に示すバリッド信号validが生成される。
ここで、元画像を1.5倍に拡大処理する場合について説明する。この場合、倍率の逆数が2/3(=1/1.5)となる。
例えば、拡大処理後の画像の画素PZ1を元画像の画素Pと一致させる。即ち、画素Pz1の位置が0となり、画素Pz1の画素データは、元画像の画素Pの画素データとなる。この画素データは、RGBの各色成分の階調データを含むデータであったり、輝度成分及び2つの色差成分を含むデータであったりする。
その後、画素PZ1の付与値に2/3を累積加算していく。
この結果、まず画素PZ2の付与値から1を減算した値が、画素Pz2の位置となる。即ち、画素Pz2の位置は、元画像の画素P、Pの間となる。このため、画素PZ2は補間画素として、その画素データは、例えば画素P、Pの画素データを補間した値となる。
図4に、補間画素の画素データの説明図を示す。
図4では、元画像に対する処理後の補間画素Pの位置が元画像の画素P、Pの間となった場合に補間画素Pの画素データを求めるものとする。補間画素Pの位置が、画素Pから距離d(0≦d≦1)だけ離れているものとすると、画素P、P間のドットピッチが正規化されているため、補間画素Pの位置は画素Pから距離(1−d)だけ離れることになる。
ここで、画素Pの画素データをD(P)と表すと、補間画素Pの画素データD(P)は、次の式で求められる。
D(P)=(1−d)×D(P)+d×D(P) ・・・(1)
従って、補間画素の画素データは、補間係数としてのdと元画像の画素データとの積和演算により求められる。
なお、ドットピットが正規化されているため、距離dは、補間画素Pの位置を求めるために逆数の倍率を累積加算した結果の小数部に相当する。この小数部は、画素データの補間処理を行う際に、補間係数に関連付けられる。
ここでは、処理後の画像の画素の画素データが、元画像の2点の画素の画素データで補間されるものとして説明するが、元画像の3点以上の画素の画素データで補間されてもよい。
このように補間画素の画素データが求められるので、図3における画素Pz2の画素データD(Pz2)は、元画像の画素P1、P2の画素データから、次の式で求められる。
D(PZ2)=(1−2/3)×D(P)+2/3×D(P) ・・・(2)
続いて、画素Pz3の付与値は、2/3+2/3=1+1/3となるので、画素Pz3の画素データD(Pz3)は、元画像の画素P2、P3の画素データから次の式で求められる。
D(PZ3)=(1−1/3)×D(P)+1/3×D(P) ・・・(3)
以降、同様にして、画素Pz4の画素データは、元画像の画素Pの画素データとなり、画素Pz5の画素データは元画像の画素P、Pの画素データで補間された値となる。
以上のように、画素間のドットピッチを正規化した状態で、元画像の画素の画素データと、倍率の逆数を累積加算した結果の小数部に対応した係数とに基づいて、拡大処理後の画像の画素データを生成することができる。
次に、元画像を2/3倍に縮小処理する場合について説明する。この場合、倍率の逆数が1.5(=1/(2/3))となる。
例えば、縮小処理後の画像の画素PS1を元画像の画素Pと一致させる。即ち、画素PS1の位置が0となり、画素PS1の画素データは、元画像の画素Pの画素データとなる。
その後、画素PS1の付与値を1だけ減算、若しくは(1.5−1)を加算していく。縮小処理の場合、逆数の倍率が1より大きい値となるため、処理後の画素の付与値をデクリメントする毎に、次の画素間で補間される。その結果、処理後の画素の付与値の整数部が0のとき、当該処理後の画素を有効とし、上述のように元画像の画素の画素データで補間される。そして、次の補間画素を求めるために、当該画素の付与値に(1.5−1)を加算する。
一方、処理後の画素の付与値の整数部が1のとき、当該処理後の画素を無効とし、次の補間画素を求めるために、当該画素の付与値を1だけ減算する。
従って、図3では、まず画素PS1の付与値が0で、当該画素が有効となるため、画素PS1の付与値に(1.5−1)が加算される。この結果、画素PS2の付与値が0.5となり、この値が画素PS2の位置となる。即ち、画素PS2の位置は、元画像の画素P、Pの間となる。このため、画素PS2は補間画素として、その画素データは、例えば画素P、Pの画素データを補間した値となる。ここでは、図4において、dが0.5である場合に相当する。
続いて、画素PS3の付与値が、1.0(=0.5+1.5−1)となる。この付与値の整数部が1となるため、画素PS3は間引きされる。
そして、画素PS4の付与値が、0.0(=1.0−1)となる。このため、画素PS4が有効となる。
以上のように、画素間のドットピッチを正規化した状態で、処理後の画素の付与値をデクリメントしながら、倍率の逆数を累積加算していくことで、縮小処理後の画像の画素データを生成すると共に処理後の画素データを間引きすべきか否かを判断することができる。
本実施形態では、以上のような補間を行うための係数群が、倍率(又はその逆数)に応じて各係数メモリに予め記憶されており、倍率設定レジスタ10の設定値に応じて選択された係数メモリの中から、累積加算結果の小数部の少なくとも一部に対応した係数が読み出され、フィルタ演算部40に供されるようになっている。
以下では、このような画像の拡大処理及び縮小処理を実現する画像処理装置100のハードウェア構成例について説明する。
1.2 アキュームレータ
図5に、図1のアキュームレータ30の構成例のブロック図を示す。
ここでは、図6に示すように倍率設定レジスタ10が12ビット構成であり、上位3ビットに整数部のデータが設定され、下位9ビットに小数部のデータが設定されるものとする。
アキュームレータ30は、モード判定部60を含む。モード判定部60は、倍率設定レジスタ10に設定された12ビットのデータのうち上位3ビットの設定値に応じたモード信号MODEを出力する。より具体的には、モード判定部60は、該上位3ビットの設定値が0のとき、モード信号MODEをLレベルにして、拡大処理を行う拡大処理モードを指定する。一方、モード判定部60は、該上位3ビットの設定値が0ではないとき、モード信号MODEをHレベルにして、縮小処理を行う縮小処理モードを指定する。
またアキュームレータ30は、12ビット構成の倍率アキュームレータレジスタ62を含む。この倍率アキュームレータレジスタ62の設定値は、初期化時には例えば「000000000000」に設定されているものとする。倍率アキュームレータレジスタ62には、図示しない画素クロック又はラインクロックの変化点に同期して、倍率の逆数の累積加算結果が取り込まれる。画素クロックは、水平方向に並ぶ画素単位のクロックであり、ラインクロックは、1水平走査期間を1ラインとするライン単位のクロックである。
加算器64は、倍率設定レジスタ10に設定された倍率の逆数と倍率アキュームレータレジスタ62に保存された値HACCum[8:0]とを加算して、AccAddData[11:0]として出力する。AccAddData[9]とモード信号MODEとの論理和演算結果が、シフトイネーブル信号ShiftEnableとして出力される。従って、縮小処理モードでは、シフトイネーブル信号ShiftEnableがHレベルに固定される。このシフトイネーブル信号ShiftEnableは、フィルタ演算部40の処理対象となる画素データを更新するためのシフト動作のイネーブル制御のための信号である。従って、拡大処理モードでは、累積加算結果であるHACCum[11:0]の整数部が0ではないとき、シフトイネーブル信号ShiftEnableがHレベルとなって、フィルタ演算部の処理対象の画素データを更新し、HACCum[11:0]の整数部が0のとき、シフトイネーブル信号ShiftEnableがLレベルとなって、フィルタ演算部の処理対象の画素データを更新しない。
AccAddData[8:0]の9ビットデータは、上位ビット付加部66において「000」が上位3ビットに付加されて12ビットデータとして出力される。
一方、倍率アキュームレータレジスタ62に保存された値HACCum[11:9]は、下位ビット付加部68において、「000000000」が下位ビットに付加されて12ビットデータとして出力される。この12ビットデータは、加算器70において、AccAddData[11:0]と加算された後、デクリメンタ72において、加算器70の加算結果の整数部の値がデクリメントされて、セレクタ74に供給される。
倍率アキュームレータレジスタ62に保存された値HACCum[11:0]は、デクリメンタ76において、HACCum[11:0]の整数部の値がデクリメントされてセレクタ74に供給される。
整数部解析部78は、倍率アキュームレータレジスタ62に保存された値HACCum[11:9]が0か否かを検出する。より具体的には整数部解析部78が、HACCum[11:9]が0であることを検出したときHレベルの検出信号を出力し、HACCum[11:9]が0ではないことを検出したときLレベルの検出信号を出力する。この検出信号とモード信号MODEの反転信号との論理和演算結果が、バリッド信号validとして出力される。従って、拡大処理モードでは、バリッド信号validがHレベルに固定される。なおHACCum[8:6]が、係数LUT50の各係数メモリのアドレスLUTadrとなる。図5では、3ビットのみが係数LUT50の各係数メモリの読み出しアドレスとして生成されるが、このビット数に限定されるものではない。従って、累積加算結果の小数部の少なくとも一部に基づいて係数LUT50の各係数メモリの読み出しアドレスを生成できればよい。
また整数部解析部78からの検出信号は、セレクタ74の選択制御信号となる。即ち、セレクタ74は、整数部解析部78の検出信号がLレベルのとき、デクリメンタ76の出力を選択出力する。一方、セレクタ74は、整数部解析部78の検出信号がHレベルのとき、デクリメンタ72の出力を選択出力する。従って、縮小処理モードでは、HACCum[11:9]が0でなくなるまで、倍率アキュームレータレジスタ62に保存された値の整数部をデクリメントしていくことになる。このようなセレクタ74の出力は、セレクタ80に供給される。
セレクタ80は、モード信号MODEがLレベルのとき、上位ビット付加部66の出力を選択出力する。セレクタ80は、モード信号MODEがHレベルのとき、セレクタ74の出力を選択出力する。そしてセレクタ80の出力が、倍率アキュームレータレジスタ62に保存される。
次に、図5に示すアキュームレータ30の動作について説明する。
図7に、図5のアキュームレータ30の拡大処理モードの動作を模式的に示す。
図7において、図5と同一部分には同一符号を付し適宜説明を省略する。
倍率設定レジスタ10に設定された倍率の逆数の整数部が0のとき、上述のようにモード信号MODEがLレベルとなる。加算器64は、倍率の逆数と倍率アキュームレータレジスタ62に保存された値HACCum[8:0]とを加算する。その加算結果の第9ビット(HACCum[9])により、シフトイネーブル信号ShiftEnableが生成される。HACCum[9]に基づいてシフトイネーブル信号ShiftEnableを生成するのは、拡大処理モードでは累積加算される倍率の逆数が1より小さいため、累積加算結果の整数部の最下位ビットを参照すれば、累積加算結果の整数部が0であるか否かを判断できるからである。
なお、加算結果は、再び倍率アキュームレータレジスタ62に保存される。そして、倍率アキュームレータレジスタ62に保存された値のうちHACCum[8:6]が、係数LUT50の各係数メモリに設定された係数を指定するためのアドレスLUTadrとして出力される。係数LUT50は、例えば倍率設定レジスタ10の設定値に対応した係数メモリから、該アドレスLUTadrにより指定された係数を出力する。
図8に、図5のアキュームレータ30の縮小処理モードの動作を模式的に示す。
図8において、図5と同一部分には同一符号を付し適宜説明を省略する。
倍率設定レジスタ10に設定された倍率の逆数の整数部が0ではないとき、上述のようにモード信号MODEがHレベルとなる。加算器64、70により、倍率の逆数と倍率アキュームレータレジスタ62に保存された値HACCum[11:0]とが加算される。この加算結果の整数部の値は、デクリメンタ72によりデクリメントされる。一方、倍率アキュームレータレジスタ62に保存された値HACCum[11:0]の整数部の値は、デクリメンタ76によりデクリメントされる。そして、倍率アキュームレータレジスタ62に保存された値HACCum[11:9]が0か否かに応じてデクリメンタ72、76のいずれかの出力が選択されて、再び倍率アキュームレータレジスタ62に取り込まれる。
倍率アキュームレータレジスタ62のHACCum[8:6]は、係数LUT50の各係数メモリのアドレスLUTadrとして出力される。また、倍率アキュームレータレジスタ62のHACCum[11:9]に基づいて、バリッド信号validが出力される。
従って、縮小処理モードでは、倍率アキュームレータレジスタ62における累積加算結果に基づいて、画素単位に間引きすべきか否かを指定するバリッド信号validを出力することができる。
1.3 係数LUT
図9に、図1の係数LUT50の構成例のブロック図を示す。但し、図9において、図1と同一部分には同一符号を付し、適宜説明を省略する。
係数LUT50は、アドレス生成回路120と、係数記憶部122と、LUT124と、アドレスデコーダ126とを含むことができる。アドレス生成回路120は、倍率設定レジスタ10の設定値に基づいて、係数記憶部122のアドレスを生成する。係数記憶部122は、複数の記憶領域を有し、各記憶領域には第1〜第Nの係数メモリ52−1〜52−Nのいずれかの係数群が記憶されている。アドレス生成回路120は、係数記憶部122の複数の記憶領域のうちいずれか1つの記憶領域の先頭アドレスであって、倍率設定レジスタ10に設定された倍率の逆数に対応したアドレスを生成する。より具体的には、アドレス生成回路120は、入力画像又は処理後の画像の1フレームの先頭を示す垂直同期信号VSYNCに同期して、上記のアドレスを生成する。
アドレス生成回路120からのアドレスにより指定される係数記憶部122の記憶領域に記憶される、第1〜第Nの係数メモリ52−1〜52−Nのいずれかの記憶情報は、LUT124に展開される。アドレスデコーダ126は、アキュームレータ30からのアドレスLUTadrをデコードし、LUT124のいずれかの記憶領域を指定する。例えばLUT124は例えば8(=2)組の係数群を保持し、アドレスデコーダ126により指定された係数群をフィルタ演算部40に対して出力する。
こうすることで、係数LUT50は、倍率設定レジスタ10に設定された倍率の逆数に応じて、第1〜第Nの係数メモリ52−1〜52−Nのいずれか1つの係数メモリのうち、アキュームレータ30からのアドレスLUTadrで指定された係数をフィルタ演算部40に出力できる。しかも、図10に示すように、入力画像又は処理後の画像の1フレーム単位で、LUT124の記憶情報を切り換えることができる。
従って、倍率の変化に伴い画像の空間周波数が変化した場合であっても、該倍率の変化に応じて係数メモリを変更できるので、フィルタ処理で得られるフィルタ特性関数もまた変化させることが可能となる。そのため、拡大処理又は縮小処理後の画像の劣化を防止できる。
なお図10では、LUT124が8組の係数群を保持するものとして説明したが、本実施形態が組数に限定されるものではないことは言うまでもない。
1.4 フィルタ演算部
図11に、図1のアキュームレータ30、係数LUT50及びフィルタ演算部40の構成例のブロック図を示す。
図11において、図1、図5及び図9と同一部分には同一符号を付し、適宜説明を省略する。図11では、フィルタ演算部40が4タップのフィルタ処理を行うものとするが、本実施形態がタップ数に限定されるものではない。
フィルタ演算部40は、データバッファと4つのフリップフロップ(Flip-Flop:FF)とを含む。4つのフリップフロップは直列接続されたシフトレジスタを構成し、各フリップフロップにはクロックCLK(画素クロック又はラインクロック)が共通に供給される。そして、アキュームレータ30からのシフトイネーブル信号ShiftEnableがHレベルになると、データバッファから画素データを読み出し、クロックCLKに同期してシフト動作を行う。
各フリップフロップの出力は、それぞれ乗算器に入力される。係数LUT50(より具体的には図9のLUT124)は、アキュームレータ30からのアドレスLUTadrに対応した係数群h0、h1、h2、h3を出力する。アドレスLUTadrに対応して出力された係数群の各係数は、各乗算器に供給される。
各乗算器の出力は加算器に供給され、該加算器の出力が補間後の画素データとなる。この補間後の画素データは、拡大処理又は縮小処理後の画素データである。
ここで、各フリップフロップの出力をg0、g1、g2、g3、加算器の出力をD(P)とすると、D(P)は次式で表される。
D(P)=g0×h0+g1×h1+g2×h2+g3×h3 ・・(4)
そして、画像処理装置100は、倍率設定レジスタ10に設定された倍率の逆数の整数部が0の場合には入力画像の画素データに対して拡大処理を行い、該倍率の逆数の整数部が0ではない場合には入力画像の画素データに対して縮小処理を行うことができる。
図12に、本実施形態における画像処理装置100の拡大処理の一例の説明図である。
図12では、拡大の倍率が2.5(倍率の逆数が0.4)の例を示している。拡大処理では、処理後のすべての画素が有効である。
即ち、画像処理装置100は、倍率の逆数の整数部が0の場合であってアキュームレータ30の累積加算結果の整数部が0ではないとき、図5及び図7で説明したようにシフトイネーブル信号ShiftEnableをHレベルに変化させて、図11のフィルタ演算部40のシフトレジスタのシフト動作を行わせる。こうすることで、フィルタ演算部40の処理対象の画素データを更新できる。そして、該更新後の画素データとアキュームレータ30の累積加算結果の小数部の少なくとも一部(図7のHACCum[8:6])に対応した係数との積和演算を行って拡大処理後の画像の画素データを生成することができる。
また画像処理装置100は、倍率の逆数の整数部が0の場合であってアキュームレータ30の累積加算結果の整数部が0のとき、図5及び図7で説明したようにシフトイネーブル信号ShiftEnableをLレベルに変化させて、図11のフィルタ演算部40のシフトレジスタのシフト動作をディセーブル状態に設定する。こうすることで、フィルタ演算部40の処理対象の画素データを更新させずに済む。そして、フィルタ演算部40で前回用いられた画素データとアキュームレータ30の累積加算結果の小数部の少なくとも一部(図7のHACCum[8:6])に対応した係数との積和演算を行って拡大処理後の画像の画素データを生成することができる。
従って、図12では、累積加算結果が1.2、1.0の場合(E1、E2、E3、E4)に、シフトイネーブル信号ShiftEnableをHレベルに変化させ、シフト動作後の画素データに対して補間後の画素データを生成している。そして、その他の場合に、シフトイネーブル信号ShiftEnableをLレベルに変化させ、前回の処理対象の画素データに対して、新たな補間画素の位置に対応した係数を用いて補間後の画素データを生成している。
図13に、本実施形態における画像処理装置100の縮小処理の一例の説明図である。
図13では、縮小の倍率が0.4(倍率の逆数が2.5)の例を示している。縮小処理では、シフトイネーブル信号ShiftEnableは常にHレベルとなる。
即ち、画像処理装置100は、倍率の逆数の整数部が0でない場合であってアキュームレータ30の累積加算結果の整数部が0ではないとき、バリッド信号validをLレベル変化させて当該処理後の画素を間引き対象とし、図8に示すようにデクリメンタ76により累積加算結果(その整数部)をデクリメントするのみで、フィルタ演算部40の出力を更新しない。
また画像処理装置100は、倍率の逆数の整数部が0でない場合であってアキュームレータ30の累積加算結果の整数部が0のとき、倍率の逆数と累積加算結果(アキュームレータ30の出力)との加算結果の整数部をデクリメンタ72によりデクリメントする。そして、フィルタ演算部40の処理対象の画素データと累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って縮小処理後の画像の画素データを生成することができる。
従って、図13では、累積加算結果が1.5、2.0、1.0の場合(F1、F2、F3)に、バリッド信号validをLレベルに変化させる。そして、その他の場合、バリッド信号validをHレベルに変化させ、シフト動作後の画素データに対して補間後の画素データを生成している。
以上のように、本実施形態における画像処理装置100は、倍率設定レジスタ10に設定された倍率の逆数に応じて、入力画像を拡大処理又は縮小処理した画像の画素データを生成することができる。そしてこの画像処理装置100は、倍率の逆数を求めるための割り算器を不要にできる。また、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がなくなる。そのため、画素カウンタで用いるビット数が増加してしまうことがなくなり、画素カウンタのビット数に制限されることなく、電気光学装置の画面サイズの拡大に対応できるようになる。
2. 表示コントローラ
次に、本実施形態における画像処理装置100が適用される表示コントローラについて説明する。
図14に、本実施形態における画像処理装置100が適用される表示コントローラの構成例のブロック図を示す。
表示コントローラ200は、カメラインタフェース(Interface:I/F)(広義には画素データ入力I/F)210と、第1及び第2のスケーラ回路220、230と、フレームバッファ240と、RGBI/F(広義には出力I/F)250とを含む
カメラI/F210には、入力画像の画素データが入力される。より具体的には、カメラI/F210には、CCDカメラやCMOSカメラを内蔵するカメラモジュールからの画像の画素データが入力される。そしてカメラI/F210は、該画素データのインタフェース処理(カメラモジュールとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後の画素データを第1のスケーラ回路220に出力する。
第1のスケーラ回路220は、カメラI/F210からの入力画像の画素データに対して拡大又は縮小処理を行う。
フレームバッファ240は、例えばRGBI/F250に接続される表示ドライバが駆動する電気光学装置の少なくとも1フレーム(1画面)分の画素データを記憶する。第1のスケーラ回路220の処理後のデータは、このフレームバッファ240に保存される。
第2のスケーラ回路230は、フレームバッファ240から読み出された画素データにより表される画像の拡大又は縮小処理を行う。
RGBI/F250は、第2のスケーラ回路230の処理後のデータを出力するためのインタフェース処理を行う。RGBI/F250は、第2のスケーラ回路230からの画素データのインタフェース処理(表示ドライバとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後のRGB形式の画素データを図示しない表示ドライバに出力する。RGBI/F250は、例えば同期信号発生回路を含み、電気光学装置を駆動するための表示用の同期信号(1フレームの走査期間である1垂直走査期間を規定する垂直同期信号VSYNC、1水平走査期間を規定する水平同期信号HSYNC、ドットクロックDCLK等)を生成し、該同期信号を表示ドライバに供給することができる。このときRGBI/F250は、各フレームの画素データを垂直同期信号に同期させ、且つ各画素データをドットクロックに同期させて出力する。
そして、第1及び第2のスケーラ回路220、230の少なくとも1つは、画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部と、画像の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部とを含む。更に水平方向画像処理部及び垂直方向画像処理部の少なくとも1つは、本実施形態における画像処理装置100を含む。
なお表示コントローラ200は、第2のスケーラ回路230の出力をYUV形式に変換した画素データを、RGB形式の画素データと同様に出力できるようになっている。そのため、表示コントローラ200は、YUVI/F270を含むことができる。YUVI/F270は、第2のスケーラ回路230からの画素データのインタフェース処理(CRT装置との間の送信処理や、信号のバッファリング)を行い、インタフェース処理後のYUV形式の画素データを図示しないCRT装置に出力する。
また表示コントローラ200は、フレームバッファ240の保存データに対して圧縮処理又は伸張処理を行うJPEG回路280を含むことができる。JPEG回路280は、フレームバッファ240の保存データを読み出して、JPEG規格に従った圧縮処理又は伸張処理を行い、処理後のデータをフレームバッファ240に書き戻すことができる。
更に表示コントローラ200は、ホストI/F290を含むことができる。ホストI/F290には、図示しないホストからのデータが入力される。このとき、ホストI/F290は、インタフェース処理(ホストとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後のデータをフレームバッファ240に供給する。また、フレームバッファ240から読み出されたデータを、ホストI/F290を介してホストに供給できるようになっている。この場合、ホストI/F290は、インタフェース処理(ホストとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後のデータをホストに出力する。
図15に、図14の第1のスケーラ回路220の構成例のブロック図を示す。
図15において、図14と同一部分には同一符号を付し、適宜説明を省略する。図15の第1のスケーラ回路220の各部は、システムクロックに同期して動作する。カメラI/F210を介して外部入力データとして入力された画素データは、カメラI/F210からの外部クロックに同期して入力バッファ300にバッファリングされる。
クロック生成回路302は、システムクロックをピクセルシフトに基づいてマスク制御されるシフトクロックと、該システムクロックをピクセルバリッドに基づいてマスク制御されるピクセルクロックとを生成する。
第1のスケーラ回路220は、入力画像の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部310と、該入力画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部320とを含む。
垂直方向画像処理部310は、垂直倍率設定レジスタ(図示せず)と、垂直スケーリング回路312と、垂直アキュームレータ回路314とを含む。垂直倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。垂直スケーリング回路312は、図1の係数LUT50及びフィルタ演算部40の機能を有する。垂直アキュームレータ回路314は、図1のアキュームレータ30の機能を有する。図示しないホストが、垂直倍率設定レジスタに、画像の垂直方向の倍率の逆数を設定する。また該ホストが、垂直スケーリング回路312の係数LUTに含まれる係数記憶部に、予め複数の倍率(又はその逆数)に対応した複数の係数メモリの記憶情報を設定する。
水平方向画像処理部320は、水平倍率設定レジスタ(図示せず)と、水平スケーリング回路322と、水平アキュームレータ回路324とを含む。水平倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。水平スケーリング回路322は、図1の係数LUT50及びフィルタ演算部40の機能を有する。水平アキュームレータ回路324は、図1のアキュームレータ30の機能を有する。図示しないホストが、水平倍率設定レジスタに、画像の水平方向の倍率の逆数を設定する。また該ホストが、水平スケーリング回路322の係数LUTに含まれる係数記憶部に、予め複数の倍率(又はその逆数)に対応した複数の係数メモリの記憶情報を設定する。
垂直アキュームレータ回路314は、垂直倍率設定レジスタに設定された倍率の逆数を累積加算し、係数LUTのアドレスである垂直補間座標と、バリッド信号validに相当するラインバリッドと、シフトイネーブル信号ShiftEnableに相当するラインシフトを出力する。垂直スケーリング回路312は、垂直補間座標に対応する係数と、入力バッファ300からの画素データとの積和演算を行い、水平スケーリング回路322に対して出力する。また垂直スケーリング回路312は、ラインバリッドをラインイネーブルとして水平スケーリング回路322に出力する。
水平アキュームレータ回路324は、水平倍率設定レジスタに設定された倍率の逆数を累積加算し、係数LUTのアドレスである水平補間座標と、バリッド信号validに相当するピクセルバリッドと、シフトイネーブル信号ShiftEnableに相当するピクセルシフトを出力する。
図16に、ピクセルクロック、ピクセルバリッド及び画素データとの関係を示す。図16では、拡大処理時のピクセルクロック及び画素データの関係と、縮小処理時のピクセルクロック、ピクセルバリッド及び画素データの関係とを示している。
図15において、水平スケーリング回路322は、水平補間座標に対応する係数と、垂直スケーリング回路312からの出力データとの積和演算を行い、演算結果を出力バッファ304に出力する。また水平スケーリング回路322は、ピクセルバリッドをラインイネーブルとして出力バッファ304に出力する。
出力バッファ304には、ピクセルクロックに同期して、水平スケーリング回路322からの出力データが格納される。このとき、ラインイネーブルがアクティブのデータのみが、出力バッファ304に格納される。
こうすることで、垂直方向画像処理部310で縮小処理時に有効(拡大処理時は常に有効)にされた画素データに対して、水平方向画像処理部320が拡大処理又は縮小処理を行うことができる。そして、水平方向画像処理部320で縮小処理時に有効(拡大処理時は常に有効)にされた画素データのみが、出力バッファ304に格納される。
なおアドレス生成回路306は、フレームバッファ240の書き込みアドレスを生成すると共に、垂直アキュームレータ回路314からのラインバリッドと、水平アキュームレータ回路324からのピクセルバリッドとに基づいて、フレームバッファ240へのライトイネーブルを生成することができる。
この結果、出力バッファ340に格納された画素データが、フレームバッファ240に保存される。
図17に、図14の第2のスケーラ回路230の構成例のブロック図を示す。
図17において、図14と同一部分には同一符号を付し、適宜説明を省略する。図17の第2のスケーラ回路230の各部は、システムクロックに同期して動作する。
アドレス生成回路400によって生成されたアドレスに基づいてフレームバッファ240から読み出されたデータは、入力バッファ402にバッファリングされる。
クロック生成回路404は、システムクロックをピクセルシフトに基づいてマスク制御されるシフトクロックと、該システムクロックをピクセルバリッドに基づいてマスク制御されるピクセルクロックとを生成する。
第2のスケーラ回路230は、入力画像(フレームバッファ240に格納された画素データにより表される画像)の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部410と、該入力画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部420とを含む。
垂直方向画像処理部410は、垂直倍率設定レジスタ(図示せず)と、垂直スケーリング回路412と、垂直アキュームレータ回路414とを含む。垂直倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。垂直スケーリング回路412は、図1の係数LUT50及びフィルタ演算部40の機能を有する。垂直アキュームレータ回路414は、図1のアキュームレータ30の機能を有する。図示しないホストが、垂直倍率設定レジスタに、画像の垂直方向の倍率の逆数を設定する。また該ホストが、垂直スケーリング回路412の係数LUTに含まれる係数記憶部に、予め複数の倍率(又はその逆数)に対応した複数の係数メモリの記憶情報を設定する。
水平方向画像処理部420は、水平倍率設定レジスタ(図示せず)と、水平スケーリング回路422と、水平アキュームレータ回路424とを含む。水平倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。水平スケーリング回路422は、図1の係数LUT50及びフィルタ演算部40の機能を有する。水平アキュームレータ回路424は、図1のアキュームレータ30の機能を有する。図示しないホストが、水平倍率設定レジスタに、画像の水平方向の倍率の逆数を設定する。また該ホストが、水平スケーリング回路422の係数LUTに含まれる係数記憶部に、予め複数の倍率(又はその逆数)に対応した複数の係数メモリの記憶情報を設定する。
垂直方向画像処理部410の機能は、図15の垂直方向画像処理部310と同様であるため説明を省略する。水平方向画像処理部420の機能は、図15の水平方向画像処理部320と同様であるため説明を省略する。
垂直アキュームレータ回路414からのラインシフトは、アドレス生成回路400に供給される。水平アキュームレータ回路424からのピクセルシフトは、アドレス生成回路400に供給される。アドレス生成回路400は、ラインシフト及びピクセルシフトに基づいてフレームバッファ240の読み出しアドレスを生成する。
水平スケーリング回路422は、水平補間座標に対応する係数と、垂直スケーリング回路412からの出力データとの積和演算を行い、演算結果を出力バッファ406に出力する。
出力バッファ406には、ピクセルクロックに同期して、水平スケーリング回路422からの出力データが格納される。このとき、ラインイネーブルがアクティブのデータのみが、出力バッファ406に格納される。
こうすることで、垂直方向画像処理部410で縮小処理時に有効(拡大処理時は常に有効)にされた画素データに対して、水平方向画像処理部420が拡大処理又は縮小処理を行うことができる。そして、水平方向画像処理部420で縮小処理時に有効(拡大処理時は常に有効)にされた画素データのみが、出力バッファ406に格納される。
この結果、出力バッファ406に格納された画素データが、RGBI/F250又はYUVI/F270に出力される。
3. 電子機器
図18に、本実施形態における電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
携帯電話機700は、図17の表示コントローラ200を含む。携帯電話機700は、カメラモジュール710を含む。カメラモジュール710は、CCDカメラを含み、CCDカメラで撮像した画像のデータを表示コントローラ200に供給する。
携帯電話機700は、表示パネル630を含む。表示パネル630として、液晶表示パネルを採用できる。この場合、表示パネル630は、表示ドライバ620によって駆動される。表示パネル630は、複数の走査線、複数のデータ線、複数の画素を含む。表示ドライバ620は、複数の走査線の1又は複数本単位で走査線を選択する走査ドライバの機能を有すると共に、画素データに対応した電圧を複数のデータ線に供給するデータドライバの機能を有する。
表示コントローラ200は、表示ドライバ620に接続され、表示ドライバ620に対してRGBフォーマットの画素データを供給する。画素データのRGBフォーマットとYUVフォーマットの間の変換は、表示コントローラ200内で行うことができる。
ホスト720は、表示コントローラ200に接続される。ホスト720は、表示コントローラ200を制御する。またホスト720は、アンテナ722を介して受信された画素データを、変復調部730で復調した後、表示コントローラ200に供給できる。表示コントローラ200は、この画素データに基づき、表示ドライバ620により表示パネル630に表示させる。
ホスト720は、カメラモジュール710で生成された画素データを変復調部730で変調した後、アンテナ722を介して他の通信装置への送信を指示できる。
ホスト720は、操作入力部740からの操作情報に基づいて画素データの送受信処理、カメラモジュール710の撮像、表示パネルの表示処理を行う。
なお、図18では、表示パネル630として液晶表示パネルを例に説明したが、これに限定されるものではない。表示パネル630は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画素データを供給する表示コントローラに適用できる。また表示コントローラ200が、YUV形式の画素データを、図示しない出力端子を介して接続されるCRT装置に対して出力してもよい。
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
本実施形態における画像処理装置の構成の概要のブロック図。 処理後の画素データとバリッド信号との関係の一例を示す図。 本実施形態における画像の拡大処理及び縮小処理の説明図。 補間画素の画素データの説明図。 図1のアキュームレータの構成例のブロック図。 倍率設定レジスタの設定データの整数部及び小数部の説明図。 図5のアキュームレータの拡大処理モードの動作を模式的に示す図。 図5のアキュームレータの縮小処理モードの動作を模式的に示す図。 図1の係数LUTの構成例のブロック図。 図9の係数LUTの動作説明図。 図1のアキュームレータ、係数LUT及びフィルタ演算部の構成例のブロック図。 本実施形態における画像処理装置の拡大処理の一例の説明図。 本実施形態における画像処理装置の縮小処理の一例の説明図。 本実施形態における画像処理装置が適用される表示コントローラの構成例のブロック図。 図14の第1のスケーラ回路の構成例のブロック図。 ピクセルクロック、ピクセルバリッド及び画素データとの関係を示す図。 図14の第2のスケーラ回路の構成例のブロック図。 本実施形態における電子機器の構成例のブロック図。 図19(A)、図19(B)はファームウェアのコードの一例の説明図。
符号の説明
10 倍率設定レジスタ、 20 シームレス画素処理部、 30 アキュームレータ、
40 フィルタ演算部、 50 係数LUT、
52−1〜52−N 第1〜第Nの係数メモリ、 60 モード判定部、
62 倍率アキュームレータレジスタ、 64、70 加算器、
66 上位ビット付加部、 68 下位ビット付加部、 72、76 デクリメンタ、
74、80 セレクタ、 78 整数解析部、 100 画像処理装置、
120 アドレス生成回路、 122 係数記憶部、 124 LUT、
126 アドレスデコーダ、 200 表示コントローラ、 210 カメラI/F、
220 第1のスケーラ回路、 230 第2のスケーラ回路、
240 フレームバッファ、 250 RGBI/F、 270 YUVI/F、
280 JPEG回路、 290 ホストI/F

Claims (6)

  1. 入力画像の拡大及び縮小処理を行うための画像処理装置であって、
    各係数メモリに、前記入力画像の拡大又は縮小処理後の画像の画素データを求めるための複数の係数を含む係数群が記憶される第1〜第N(Nは2以上の整数)の係数メモリと、
    前記入力画像の画素データと補間係数との積和演算を行って前記拡大処理又は縮小処理後の画素データを生成するフィルタ演算部とを含み、
    1つの係数メモリが、前記入力画像を拡大する倍率又は前記入力画像を縮小する倍率に応じて前記第1〜第Nの係数メモリの中から選択され
    前記補間係数は、前記倍率の逆数の累積加算結果の小数部の一部のみに対応して、前記1つの係数メモリに記憶された1つの係数群に含まれる複数の係数の中から選択されることを特徴とする画像処理装置。
  2. 請求項1おいて、
    前記入力画像又は処理後の画像の垂直同期信号に同期して、前記倍率の逆数に基づき前記第1〜第Nの係数メモリの中から前記1つの係数メモリを選択し、選択された前記1つの係数メモリから前記1つの係数群を読み出すことを特徴とする画像処理装置。
  3. 請求項1又は2において、
    前記倍率の逆数を累積加算するアキュームレータを含み、
    前記倍率の逆数の整数部が0のとき、前記入力画像に対して行われた拡大処理後の画像の画素データを出力し、
    前記倍率の逆数の整数部が0ではないとき、前記入力画像に対して行われた縮小処理後の画像の画素データを出力し、
    前記縮小処理時には、前記アキュームレータの累積加算結果に基づいて、前記入力画像を構成する画素単位に間引きすべきか否かを指定するバリッド信号を出力することを特徴とする画像処理装置。
  4. 請求項において、
    前記入力画像の画素データと前記アキュームレータの出力とに基づいて積和演算を行って前記拡大処理又は縮小処理後の画素データを生成するフィルタ演算部を含み、
    前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0ではないとき、
    前記フィルタ演算部の処理対象の画素データを更新し、該更新後の画素データと前記累積加算結果の小数部ののみに対応した補間係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
    前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0のとき、
    前記フィルタ演算部の処理対象の画素データを更新することなく、前回の画素データと前記累積加算結果の小数部ののみに対応した補間係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
    前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0ではないとき、
    前記累積加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の出力を更新せず、
    前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0のとき、
    前記倍率の逆数と前記アキュームレータの出力との加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の処理対象の画素データと前記累積加算結果の小数部ののみに対応した補間係数との積和演算を行って前記縮小処理後の画像の画素データを生成することを特徴とする画像処理装置。
  5. 入力画像の画素データが入力される画素データ入力インタフェースと、
    前記画素データ入力インタフェースを介して入力された前記入力画像の拡大又は縮小処理を行う第1のスケーラ回路と、
    前記第1のスケーラ回路の処理後のデータを保存するフレームバッファと、
    前記フレームバッファから読み出された画素データにより表される画像の拡大又は縮小処理を行う第2のスケーラ回路と、
    前記第2のスケーラ回路の処理後のデータを出力するためのインタフェース処理を行う出力インタフェースとを含み、
    前記第1及び第2のスケーラ回路の少なくとも1つは、
    画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部と、
    前記画像の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部とを含み、
    前記水平方向画像処理部及び前記垂直方向画像処理部の少なくとも1つは、
    請求項1乃至のいずれか記載の画像処理装置を含むことを特徴とする表示コントローラ。
  6. 表示パネルと、
    請求項記載の表示コントローラと、
    前記表示コントローラによって供給される画素データに基づいて前記表示パネルを駆動する表示ドライバとを含むことを特徴とする電子機器。
JP2005063493A 2005-03-08 2005-03-08 画像処理装置、表示コントローラ及び電子機器 Expired - Fee Related JP4470762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005063493A JP4470762B2 (ja) 2005-03-08 2005-03-08 画像処理装置、表示コントローラ及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005063493A JP4470762B2 (ja) 2005-03-08 2005-03-08 画像処理装置、表示コントローラ及び電子機器

Publications (2)

Publication Number Publication Date
JP2006253759A JP2006253759A (ja) 2006-09-21
JP4470762B2 true JP4470762B2 (ja) 2010-06-02

Family

ID=37093817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005063493A Expired - Fee Related JP4470762B2 (ja) 2005-03-08 2005-03-08 画像処理装置、表示コントローラ及び電子機器

Country Status (1)

Country Link
JP (1) JP4470762B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6226205B2 (ja) * 2015-04-28 2017-11-08 京セラドキュメントソリューションズ株式会社 画像処理装置
CN112037118B (zh) * 2020-07-16 2024-02-02 新大陆数字技术股份有限公司 图像缩放硬件加速方法、装置、系统及可读存储介质

Also Published As

Publication number Publication date
JP2006253759A (ja) 2006-09-21

Similar Documents

Publication Publication Date Title
JP2006251861A (ja) 画像処理装置、画像処理方法、表示コントローラ及び電子機器
JP5366304B2 (ja) 表示駆動装置およびその動作方法
JP4200942B2 (ja) 表示コントローラ、電子機器及び画像データ供給方法
JP2002152498A (ja) 画像処理方法および装置
JPH1011009A (ja) 映像信号の処理装置及びこれを用いた表示装置
US7050077B2 (en) Resolution conversion device and method, and information processing apparatus
JP4274238B2 (ja) 画像処理装置及び画像処理方法、並びにコンピュータ・プログラム
US20060203002A1 (en) Display controller enabling superposed display
JP4470762B2 (ja) 画像処理装置、表示コントローラ及び電子機器
JP4670403B2 (ja) 画像処理装置、画像処理方法、表示コントローラ及び電子機器
US20050285813A1 (en) Display controller, electronic equipment, and image data supplying method
JPWO2006057133A1 (ja) 画像表示装置
JP4888181B2 (ja) 画像処理装置及び電子機器
JP2008228251A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2008116812A (ja) 表示装置、プロジェクタおよび表示方法
JP2016095667A (ja) 画像処理装置および電子機器
JP2008257685A (ja) 画像処理装置、画像処理方法及び電子機器
JP2005266792A (ja) 大型のオーバーレイされたカメラ画像を表示するためのメモリ効率の良い方法及び装置
JP2005322959A (ja) 画像処理装置、携帯端末、画像処理プログラム及び画像処理方法
JP2005123813A (ja) 画像処理装置
JP2004129212A (ja) 画像投射装置および画像変換方法
JP5256628B2 (ja) 画像表示装置、該画像表示装置に用いられる画像拡大/縮小方法及び画像拡大/縮小制御プログラム
JP2005242675A (ja) 画像サイズ縮小処理方法及び画像サイズ拡大処理方法
JP4745627B2 (ja) 画像処理装置
CN117793344A (zh) 图像缩放电路、显示设备和图像缩放方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080222

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees