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

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

Info

Publication number
JP2006251861A
JP2006251861A JP2005063492A JP2005063492A JP2006251861A JP 2006251861 A JP2006251861 A JP 2006251861A JP 2005063492 A JP2005063492 A JP 2005063492A JP 2005063492 A JP2005063492 A JP 2005063492A JP 2006251861 A JP2006251861 A JP 2006251861A
Authority
JP
Japan
Prior art keywords
image
magnification
pixel data
reciprocal
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.)
Withdrawn
Application number
JP2005063492A
Other languages
English (en)
Inventor
Tei Hayashi
禎 林
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 JP2005063492A priority Critical patent/JP2006251861A/ja
Priority to US11/363,995 priority patent/US20060204139A1/en
Publication of JP2006251861A publication Critical patent/JP2006251861A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • H04N1/3935Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4023Decimation- or insertion-based scaling, e.g. pixel or line decimation

Abstract

【課題】 回路規模を削減し、且つ拡大又は縮小を指定することなく倍率に応じて画像の拡大及び縮小処理を実行する画像処理装置等を提供する。
【解決手段】 画像処理装置100は、入力画像を拡大又は縮小する倍率の逆数が設定される倍率設定レジスタ10と、前記倍率の逆数に基づいて画像の拡大又は縮小処理を行うシームレス画素処理部20とを含む。倍率の逆数の整数部が0のとき、シームレス画素処理部20が、入力画像に対して行われた拡大処理後の画像の画素データを出力し、倍率の逆数の整数部が0ではないとき、入力画像に対して行われた縮小処理後の画像の画素データを出力する。
【選択図】 図1

Description

本発明は、画像処理装置、画像処理方法、表示コントローラ及び電子機器に関する。
携帯電話機等のカメラモジュールを内蔵する携帯型の電子機器においては、カメラモジュールが取り込んだ画像を液晶表示(Liquid Crystal Display:LCD)パネル等の電気光学装置の画面に表示させることができるようになっている。この際、電気光学装置の画面サイズや、取り込んだ画像のデータを保存するメモリ容量を考慮して、取り込んだ画像のサイズが拡大されたり、縮小されたりする。
このような画像の拡大及び縮小を行う画像処理装置が、例えば特許文献1に開示されている。この画像処理装置では、処理前の画像の画素数を除数、処理後の画像の画素数を被除数として、画像の拡大又は縮小の倍率が求められる。そして、得られた倍率の逆数を累積加算することにより、処理後の画像の画素毎の線形補間のための補間係数が求められる。
特開平9−326958号公報
しかしながら、従来の画像処理装置では、処理前と処理後の画像の画素数を設定するようにしていたため、倍率の逆数を求めるために割り算器が必要となり、回路規模が大きくなる。
また従来の画像処理装置では、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がある。そのため、電気光学装置の画面サイズの拡大に伴い、画素カウンタで用いる必要なビット数が増加してしまう。更に画素カウンタのビット数が定まってしまうため、画像サイズの上限が固定化されてしまい、電気光学装置の画面サイズの拡大に対応できなくなる場合がある。
更にまた従来の画像処理装置では、その制御を行うためのファームウェア(ソフトウェア)において、上述の処理前と処理後の画像の画素数の他に、画像の拡大又は縮小を指定する動作モードを設定する必要がある。このような画像処理装置を制御する場合、ファームウェアはエラー処理についても指定する必要があり、ファームウェアのコード量を増加させてしまう。
図18(A)に、従来の画像処理装置の制御を行うためのファームウェアのコードの一例を示す。
入力画像を指定するパラメータ、出力画像を指定するパラメータ、及び倍率の他に、拡大又は縮小を指定する動作のモードを指定する必要がある場合、画像処理装置に拡大処理を指示するフローと縮小処理を指示するフローのそれぞれに、エラー処理を盛り込む必要がある。このため、ファームウェアのコード量を増加させてしまう。
これに対して、画像処理装置に、画像の拡大又は縮小を指定する動作モードを設定する必要がない場合には、該画像処理装置を制御するファームウェアのコード量を大幅に削減できる。
図18(B)に、画像の拡大又は縮小を指定する動作モードを設定する必要がない画像処理装置の制御を行うためのファームウェアのコードの一例を示す。
この場合、入力画像を指定するパラメータ、出力画像を指定するパラメータ、及び倍率のみを指定できればよいので、図18(A)に示すような各フローにエラー処理を盛り込むことなく、図18(B)に示すようにファームウェアのコード量を小さくできる。
このように画像処理装置は、倍率を変更する度に動作モードを指定する必要がなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレス(seamless)に実行できることが望ましい。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、回路規模を削減すると共に、拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理を実行できる画像処理装置、画像処理方法、表示コントローラ及び電子機器を提供することにある。
上記課題を解決するために本発明は、
入力画像の拡大及び縮小処理を行うための画像処理装置であって、
前記入力画像を拡大又は縮小する倍率の逆数が設定される倍率設定レジスタと、
前記倍率の逆数を累積加算するアキュームレータと、
前記アキュームレータの累積加算結果に基づいて画像の拡大又は縮小処理を行うシームレス画素処理部とを含み、
前記倍率の逆数の整数部が0のとき、前記シームレス画素処理部が、前記入力画像に対して行われた拡大処理後の画像の画素データを出力し、
前記倍率の逆数の整数部が0ではないとき、前記シームレス画素処理部が、前記入力画像に対して行われた縮小処理後の画像の画素データを出力し、
前記縮小処理時には、前記アキュームレータの累積加算結果に基づいて、前記入力画像を構成する画素単位に間引きすべきか否かを指定するバリッド信号を出力する画像処理装置に関係する。
本発明によれば、画像の拡大処理間及び縮小処理を行うために、倍率を求める目的で、処理前と処理後の画像の画素数を設定する必要がなくなるため、割り算器を省略する構成を採用できるようになる。更に、画像の拡大又は縮小処理を行うために累積加算される倍率の逆数の整数部に基づいて、画像の拡大処理又は縮小処理を行うことができる。従って、画像処理装置に対して拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレスに実行できるようになる。このため、例えば図18(B)に示すように、画像処理装置を制御するためのファームウェアのコード量を削減できるようになる。
更にまた縮小処理時において、画素単位に間引きすべきか否かを示すバリッド信号を出力できるようになるため、画像処理装置の後段の装置は、該バリッド信号に基づいて画素を容易に間引きすることが可能となる。そして、画像処理装置が縮小処理後の画素データを求めると共にバリッド信号を生成するため、縮小処理後の画素データを求めた後、別の手段でバリッド信号を生成する必要がなくなる。
また本発明に係る画像処理装置では、
前記シームレス画素処理部が、
前記入力画像の画素データと前記アキュームレータの出力とに基づいて積和演算を行って前記拡大処理又は縮小処理後の画素データを生成するフィルタ演算部を含み、
前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0ではないとき、
前記フィルタ演算部の処理対象の画素データを更新し、該更新後の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
前記倍率の逆数の整数部が0の場合であって前記累積加算結果の整数部が0のとき、
前記フィルタ演算部の処理対象の画素データを更新することなく、前回の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記拡大処理後の画像の画素データを生成し、
前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0ではないとき、
前記累積加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の出力を更新せず、
前記倍率の逆数の整数部が0でない場合であって前記累積加算結果の整数部が0のとき、
前記倍率の逆数と前記アキュームレータの出力との加算結果の整数部をデクリメントすると共に、前記フィルタ演算部の処理対象の画素データと前記累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って前記縮小処理後の画像の画素データを生成することができる。
本発明によれば、倍率の逆数の累積加算結果に基づく画像の拡大処理及び縮小処理を、ほぼ同じリソースで実現できるため、画像処理装置に対して拡大又は縮小を指定する必要がなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレスに実行できる。
また本発明によれば、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がなくなる。そのため電気光学装置の画面サイズの拡大に伴い、画素カウンタで用いる必要なビット数が増加してしまう。更に画素カウンタのビット数が定まってしまうため、画像サイズの上限が固定化されてしまい、電気光学装置の画面サイズの拡大に対応できなくなる事態を回避できる。
また本発明は、
入力画像の拡大及び縮小処理を行うための画像処理装置であって、
前記入力画像を拡大又は縮小する倍率の逆数が設定される倍率設定レジスタと、
前記倍率の逆数に基づいて画像の拡大又は縮小処理を行うシームレス画素処理部とを含み、
前記倍率の逆数の整数部が0のとき、前記シームレス画素処理部が、前記入力画像に対して行われた拡大処理後の画像の画素データを出力し、
前記倍率の逆数の整数部が0ではないとき、前記シームレス画素処理部が、前記入力画像に対して行われた縮小処理後の画像の画素データを出力する画像処理装置に関係する。
本発明によれば、画像の拡大処理間及び縮小処理を行うために、処理前と処理後の画像の画素数を設定する必要がなくなるため、割り算器を省略する構成を採用できるようになる。更に、画像の拡大又は縮小処理を行うために累積加算される倍率の逆数の整数部に基づいて、画像の拡大処理又は縮小処理を行うことができる。従って、画像処理装置に対して拡大又は縮小を指定することなく、設定された倍率に応じて画像の拡大及び縮小処理をシームレスに実行できるようになる。このため、例えば図18(B)に示すように、画像処理装置を制御するためのファームウェアのコード量を削減できるようになる。
また本発明は、
入力画像の拡大及び縮小処理を行うための画像処理方法であって、
前記入力画像を拡大又は縮小する倍率の逆数を倍率設定レジスタに設定し、
前記倍率設定レジスタに設定された前記倍率の逆数の整数部が0のとき、前記入力画像に対して行われた拡大処理後の画像の画素データを出力し、
前記倍率の逆数の整数部が0ではないとき、前記入力画像に対して行われた縮小処理後の画像の画素データを出力する画像処理方法に関係する。
また本発明に係る画像処理方法では、
前記倍率の逆数を累積加算し、
前記縮小処理時には、前記倍率の逆数の累積加算結果に基づいて、前記入力画像を構成する画素単位に間引きすべきか否かを指定することができる。
また本発明に係る画像処理方法では、
前記倍率の逆数の整数部が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を制御するためのファームウェアは、倍率を指定する一方で、画像の拡大又は縮小を指定する動作モードを設定する必要がなくなる。そのため、図18(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のフィルタ処理後の画像の画質劣化を防止できるようになる。
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が有効となる。
以上のように、画素間のドットピッチを正規化した状態で、処理後の画素の付与値をデクリメントしながら、倍率の逆数を累積加算していくことで、縮小処理後の画像の画素データを生成すると共に処理後の画素データを間引きすべきか否かを判断することができる。
以下では、このような画像の拡大処理及び縮小処理を実現する画像処理装置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として出力される。
図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の構成例のブロック図を示す。
係数LUT50は、アドレスデコーダ52と、係数メモリ54とを含むことができる。アドレスデコーダ52は、アキュームレータ30からのアドレスLUTadrをデコードし、係数メモリ54のいずれかの記憶領域を指定する。係数メモリ54は、例えば8(=2)組の係数群を保持し、アドレスデコーダ52により指定された係数群をフィルタ演算部40に対して出力する。
図9では、係数メモリ54が8組の係数群を保持するものとして説明したが、本実施形態が組数に限定されるものではないことは言うまでもない。
1.4 フィルタ演算部
図10に、図1のアキュームレータ30、係数LUT50及びフィルタ演算部40の構成例のブロック図を示す。
図10において、図1、図5及び図9と同一部分には同一符号を付し、適宜説明を省略する。図10では、フィルタ演算部40が4タップのフィルタ処理を行うものとするが、本実施形態がタップ数に限定されるものではない。
フィルタ演算部40は、データバッファと4つのフリップフロップ(Flip-Flop:FF)とを含む。4つのフリップフロップは直列接続されたシフトレジスタを構成し、各フリップフロップにはクロックCLK(画素クロック又はラインクロック)が共通に供給される。そして、アキュームレータ30からのシフトイネーブル信号ShiftEnableがHレベルになると、データバッファから画素データを読み出し、クロックCLKに同期してシフト動作を行う。
各フリップフロップの出力は、それぞれ乗算器に入力される。係数LUT50は、アキュームレータ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ではない場合には入力画像の画素データに対して縮小処理を行うことができる。
図11に、本実施形態における画像処理装置100の拡大処理の一例の説明図である。
図11では、拡大の倍率が2.5(倍率の逆数が0.4)の例を示している。拡大処理では、処理後のすべての画素が有効である。
即ち、画像処理装置100は、倍率の逆数の整数部が0の場合であってアキュームレータ30の累積加算結果の整数部が0ではないとき、図5及び図7で説明したようにシフトイネーブル信号ShiftEnableをHレベルに変化させて、図10のフィルタ演算部40のシフトレジスタのシフト動作を行わせる。こうすることで、フィルタ演算部40の処理対象の画素データを更新できる。そして、該更新後の画素データとアキュームレータ30の累積加算結果の小数部の少なくとも一部(図7のHACCum[8:6])に対応した係数との積和演算を行って拡大処理後の画像の画素データを生成することができる。
また画像処理装置100は、倍率の逆数の整数部が0の場合であってアキュームレータ30の累積加算結果の整数部が0のとき、図5及び図7で説明したようにシフトイネーブル信号ShiftEnableをLレベルに変化させて、図10のフィルタ演算部40のシフトレジスタのシフト動作をディセーブル状態に設定する。こうすることで、フィルタ演算部40の処理対象の画素データを更新させずに済む。そして、フィルタ演算部40で前回用いられた画素データとアキュームレータ30の累積加算結果の小数部の少なくとも一部(図7のHACCum[8:6])に対応した係数との積和演算を行って拡大処理後の画像の画素データを生成することができる。
従って、図11では、累積加算結果が1.2、1.0の場合(E1、E2、E3、E4)に、シフトイネーブル信号ShiftEnableをHレベルに変化させ、シフト動作後の画素データに対して補間後の画素データを生成している。そして、その他の場合に、シフトイネーブル信号ShiftEnableをLレベルに変化させ、前回の処理対象の画素データに対して、新たな補間画素の位置に対応した係数を用いて補間後の画素データを生成している。
図12に、本実施形態における画像処理装置100の縮小処理の一例の説明図である。
図12では、縮小の倍率が0.4(倍率の逆数が2.5)の例を示している。縮小処理では、シフトイネーブル信号ShiftEnableは常にHレベルとなる。
即ち、画像処理装置100は、倍率の逆数の整数部が0でない場合であってアキュームレータ30の累積加算結果の整数部が0ではないとき、バリッド信号validをLレベル変化させて当該処理後の画素を間引き対象とし、図8に示すようにデクリメンタ76により累積加算結果(その整数部)をデクリメントするのみで、フィルタ演算部40の出力を更新しない。
また画像処理装置100は、倍率の逆数の整数部が0でない場合であってアキュームレータ30の累積加算結果の整数部が0のとき、倍率の逆数と累積加算結果(アキュームレータ30の出力)との加算結果の整数部をデクリメンタ72によりデクリメントする。そして、フィルタ演算部40の処理対象の画素データと累積加算結果の小数部の少なくとも一部に対応した係数との積和演算を行って縮小処理後の画像の画素データを生成することができる。
従って、図12では、累積加算結果が1.5、2.0、1.0の場合(F1、F2、F3)に、バリッド信号validをLレベルに変化させる。そして、その他の場合、バリッド信号validをHレベルに変化させ、シフト動作後の画素データに対して補間後の画素データを生成している。
以上のように、本実施形態における画像処理装置100は、倍率設定レジスタ10に設定された倍率の逆数に応じて、入力画像を拡大処理又は縮小処理した画像の画素データを生成することができる。そしてこの画像処理装置100は、倍率の逆数を求めるための割り算器を不要にできる。また、倍率の逆数の累積加算結果を、画素カウンタのカウント値と比較する必要がなくなる。そのため、画素カウンタで用いるビット数が増加してしまうことがなくなり、画素カウンタのビット数に制限されることなく、電気光学装置の画面サイズの拡大に対応できるようになる。
2. 表示コントローラ
次に、本実施形態における画像処理装置100が適用される表示コントローラについて説明する。
図13に、本実施形態における画像処理装置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は、インタフェース処理(ホストとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後のデータをホストに出力する。
図14に、図13の第1のスケーラ回路220の構成例のブロック図を示す。
図14において、図13と同一部分には同一符号を付し、適宜説明を省略する。図14の第1のスケーラ回路220の各部は、システムクロックに同期して動作する。カメラI/F210を介して外部入力データとして入力された画素データは、カメラI/F210からの外部クロックに同期して入力バッファ300にバッファリングされる。
クロック生成回路302は、システムクロックをピクセルシフトに基づいてマスク制御されるシフトクロックと、該システムクロックをピクセルバリッドに基づいてマスク制御されるピクセルクロックとを生成する。
第1のスケーラ回路220は、入力画像の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部310と、該入力画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部320とを含む。
垂直方向画像処理部310は、垂直倍率設定レジスタ(図示せず)と、垂直スケーリング回路312と、垂直アキュームレータ回路314とを含む。垂直倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。垂直スケーリング回路312は、図1の係数LUT50及びフィルタ演算部40の機能を有する。垂直アキュームレータ回路314は、図1のアキュームレータ30の機能を有する。図示しないホストが、垂直倍率設定レジスタに、画像の垂直方向の倍率の逆数を設定する。
水平方向画像処理部320は、水平倍率設定レジスタ(図示せず)と、水平スケーリング回路322と、水平アキュームレータ回路324とを含む。水平倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。水平スケーリング回路322は、図1の係数LUT50及びフィルタ演算部40の機能を有する。水平アキュームレータ回路324は、図1のアキュームレータ30の機能を有する。図示しないホストが、水平倍率設定レジスタに、画像の水平方向の倍率の逆数を設定する。
垂直アキュームレータ回路314は、垂直倍率設定レジスタに設定された倍率の逆数を累積加算し、係数LUTのアドレスである垂直補間座標と、バリッド信号validに相当するラインバリッドと、シフトイネーブル信号ShiftEnableに相当するラインシフトを出力する。垂直スケーリング回路312は、垂直補間座標に対応する係数と、入力バッファ300からの画素データとの積和演算を行い、水平スケーリング回路322に対して出力する。また垂直スケーリング回路312は、ラインバリッドをラインイネーブルとして水平スケーリング回路322に出力する。
水平アキュームレータ回路324は、水平倍率設定レジスタに設定された倍率の逆数を累積加算し、係数LUTのアドレスである水平補間座標と、バリッド信号validに相当するピクセルバリッドと、シフトイネーブル信号ShiftEnableに相当するピクセルシフトを出力する。
図15に、ピクセルクロック、ピクセルバリッド及び画素データとの関係を示す。図15では、拡大処理時のピクセルクロック及び画素データの関係と、縮小処理時のピクセルクロック、ピクセルバリッド及び画素データの関係とを示している。
図14において、水平スケーリング回路322は、水平補間座標に対応する係数と、垂直スケーリング回路312からの出力データとの積和演算を行い、演算結果を出力バッファ304に出力する。また水平スケーリング回路322は、ピクセルバリッドをラインイネーブルとして出力バッファ304に出力する。
出力バッファ304には、ピクセルクロックに同期して、水平スケーリング回路322からの出力データが格納される。このとき、ラインイネーブルがアクティブのデータのみが、出力バッファ304に格納される。
こうすることで、垂直方向画像処理部310で縮小処理時に有効(拡大処理時は常に有効)にされた画素データに対して、水平方向画像処理部320が拡大処理又は縮小処理を行うことができる。そして、水平方向画像処理部320で縮小処理時に有効(拡大処理時は常に有効)にされた画素データのみが、出力バッファ304に格納される。
なおアドレス生成回路306は、フレームバッファ240の書き込みアドレスを生成すると共に、垂直アキュームレータ回路314からのラインバリッドと、水平アキュームレータ回路324からのピクセルバリッドとに基づいて、フレームバッファ240へのライトイネーブルを生成することができる。
この結果、出力バッファ340に格納された画素データが、フレームバッファ240に保存される。
図16に、図13の第2のスケーラ回路230の構成例のブロック図を示す。
図16において、図13と同一部分には同一符号を付し、適宜説明を省略する。図16の第2のスケーラ回路230の各部は、システムクロックに同期して動作する。
アドレス生成回路400によって生成されたアドレスに基づいてフレームバッファ240から読み出されたデータは、入力バッファ402にバッファリングされる。
クロック生成回路404は、システムクロックをピクセルシフトに基づいてマスク制御されるシフトクロックと、該システムクロックをピクセルバリッドに基づいてマスク制御されるピクセルクロックとを生成する。
第2のスケーラ回路230は、入力画像(フレームバッファ240に格納された画素データにより表される画像)の垂直方向の画素データに対して拡大又は縮小処理を行う垂直方向画像処理部410と、該入力画像の水平方向の画素データに対して拡大又は縮小処理を行う水平方向画像処理部420とを含む。
垂直方向画像処理部410は、垂直倍率設定レジスタ(図示せず)と、垂直スケーリング回路412と、垂直アキュームレータ回路414とを含む。垂直倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。垂直スケーリング回路412は、図1の係数LUT50及びフィルタ演算部40の機能を有する。垂直アキュームレータ回路414は、図1のアキュームレータ30の機能を有する。図示しないホストが、垂直倍率設定レジスタに、画像の垂直方向の倍率の逆数を設定する。
水平方向画像処理部420は、水平倍率設定レジスタ(図示せず)と、水平スケーリング回路422と、水平アキュームレータ回路424とを含む。水平倍率設定レジスタ(図示せず)は、図1の倍率設定レジスタ10の機能を有する。水平スケーリング回路422は、図1の係数LUT50及びフィルタ演算部40の機能を有する。水平アキュームレータ回路424は、図1のアキュームレータ30の機能を有する。図示しないホストが、水平倍率設定レジスタに、画像の水平方向の倍率の逆数を設定する。
垂直方向画像処理部410の機能は、図14の垂直方向画像処理部310と同様であるため説明を省略する。水平方向画像処理部420の機能は、図14の水平方向画像処理部320と同様であるため説明を省略する。
垂直アキュームレータ回路414からのラインシフトは、アドレス生成回路400に供給される。水平アキュームレータ回路424からのピクセルシフトは、アドレス生成回路400に供給される。アドレス生成回路400は、ラインシフト及びピクセルシフトに基づいてフレームバッファ240の読み出しアドレスを生成する。
水平スケーリング回路422は、水平補間座標に対応する係数と、垂直スケーリング回路412からの出力データとの積和演算を行い、演算結果を出力バッファ406に出力する。
出力バッファ406には、ピクセルクロックに同期して、水平スケーリング回路422からの出力データが格納される。このとき、ラインイネーブルがアクティブのデータのみが、出力バッファ406に格納される。
こうすることで、垂直方向画像処理部410で縮小処理時に有効(拡大処理時は常に有効)にされた画素データに対して、水平方向画像処理部420が拡大処理又は縮小処理を行うことができる。そして、水平方向画像処理部420で縮小処理時に有効(拡大処理時は常に有効)にされた画素データのみが、出力バッファ406に格納される。
この結果、出力バッファ406に格納された画素データが、RGBI/F250又はYUVI/F270に出力される。
3. 電子機器
図17に、本実施形態における電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
携帯電話機700は、図16の表示コントローラ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の撮像、表示パネルの表示処理を行う。
なお、図17では、表示パネル630として液晶表示パネルを例に説明したが、これに限定されるものではない。表示パネル630は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画素データを供給する表示コントローラに適用できる。また表示コントローラ200が、YUV形式の画素データを、図示しない出力端子を介して接続されるCRT装置に対して出力してもよい。
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
本実施形態における画像処理装置の構成の概要のブロック図。 処理後の画素データとバリッド信号との関係の一例を示す図。 本実施形態における画像の拡大処理及び縮小処理の説明図。 補間画素の画素データの説明図。 図1のアキュームレータの構成例のブロック図。 倍率設定レジスタの設定データの整数部及び小数部の説明図。 図5のアキュームレータの拡大処理モードの動作を模式的に示す図。 図5のアキュームレータの縮小処理モードの動作を模式的に示す図。 図1の係数LUTの構成例のブロック図。 図1のアキュームレータ、係数LUT及びフィルタ演算部の構成例のブロック図。 本実施形態における画像処理装置の拡大処理の一例の説明図。 本実施形態における画像処理装置の縮小処理の一例の説明図。 本実施形態における画像処理装置が適用される表示コントローラの構成例のブロック図。 図13の第1のスケーラ回路の構成例のブロック図。 ピクセルクロック、ピクセルバリッド及び画素データとの関係を示す図。 図13の第2のスケーラ回路の構成例のブロック図。 本実施形態における電子機器の構成例のブロック図。 図18(A)、図18(B)はファームウェアのコードの一例の説明図。
符号の説明
10 倍率設定レジスタ、 20 シームレス画素処理部、 30 アキュームレータ、
40 フィルタ演算部、 50 係数LUT、 60 モード判定部、
62 倍率アキュームレータレジスタ、 64、70 加算器、
66 上位ビット付加部、 68 下位ビット付加部、 72、76 デクリメンタ、
74、80 セレクタ、 78 整数解析部、 100 画像処理装置、
200 表示コントローラ、 210 カメラI/F、 220 第1のスケーラ回路、
230 第2のスケーラ回路、 240 フレームバッファ、 250 RGBI/F、
270 YUVI/F、 280 JPEG回路、 290 ホストI/F

Claims (8)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005063492A JP2006251861A (ja) 2005-03-08 2005-03-08 画像処理装置、画像処理方法、表示コントローラ及び電子機器
US11/363,995 US20060204139A1 (en) 2005-03-08 2006-03-01 Image processing device, image processing method, display controller, and electronic instrument

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2006251861A true JP2006251861A (ja) 2006-09-21

Family

ID=36970994

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US20060204139A1 (ja)
JP (1) JP2006251861A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007102244A1 (ja) * 2006-03-07 2009-07-23 Nsc株式会社 画像拡大縮小装置
US7898554B2 (en) * 2007-06-07 2011-03-01 Apple Inc. Asymmetric two-pass graphics scaling
US20100061660A1 (en) * 2008-09-08 2010-03-11 Hon Hai Precision Industry Co., Ltd. Display device and image resizing method thereof
CN103220485B (zh) * 2012-01-18 2016-08-17 腾讯科技(深圳)有限公司 视频播放旋转画面的方法及系统
JP6221323B2 (ja) 2013-04-22 2017-11-01 カシオ計算機株式会社 グラフ表示装置およびその制御プログラム
JP6221372B2 (ja) * 2013-06-11 2017-11-01 カシオ計算機株式会社 グラフ表示装置、プログラム、およびサーバ装置
JP6318615B2 (ja) 2013-12-27 2018-05-09 カシオ計算機株式会社 グラフ表示制御装置、電子機器およびプログラム
JP6244901B2 (ja) 2013-12-27 2017-12-13 カシオ計算機株式会社 グラフ表示制御装置、電子機器およびプログラム
JP6287412B2 (ja) 2014-03-19 2018-03-07 カシオ計算機株式会社 図形描画装置、図形描画方法およびプログラム
JP6394163B2 (ja) 2014-08-07 2018-09-26 カシオ計算機株式会社 グラフ表示装置、グラフ表示方法およびプログラム
KR102214028B1 (ko) * 2014-09-22 2021-02-09 삼성전자주식회사 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들
JP6653522B2 (ja) * 2015-02-04 2020-02-26 シナプティクス・ジャパン合同会社 表示装置、表示パネルドライバ、表示パネルの駆動方法
CN108986033A (zh) * 2018-07-26 2018-12-11 西安电子科技大学 基于双线性插值算法处理的图像缩放方法
US20200388000A1 (en) * 2019-06-07 2020-12-10 Rgb Systems, Inc. Multiline scaler processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384904A (en) * 1992-12-08 1995-01-24 Intel Corporation Image scaling using real scale factors
US5646696A (en) * 1992-12-23 1997-07-08 Intel Corporation Continuously changing image scaling performed by incremented pixel interpolation
JP3747523B2 (ja) * 1996-07-02 2006-02-22 ソニー株式会社 画像処理装置および処理方法

Also Published As

Publication number Publication date
US20060204139A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
JP2006251861A (ja) 画像処理装置、画像処理方法、表示コントローラ及び電子機器
JP5366304B2 (ja) 表示駆動装置およびその動作方法
JP4200942B2 (ja) 表示コントローラ、電子機器及び画像データ供給方法
US7050077B2 (en) Resolution conversion device and method, and information processing apparatus
US8064734B2 (en) Image processing device image processing method, and computer program
JP2006145850A (ja) データ出力方法及びその装置並びにこれを用いた液晶パネル駆動装置及び液晶表示装置
JP4470762B2 (ja) 画像処理装置、表示コントローラ及び電子機器
JP4670403B2 (ja) 画像処理装置、画像処理方法、表示コントローラ及び電子機器
US7209144B2 (en) Image-display apparatus, image-display method, and image-display program
JPWO2006057133A1 (ja) 画像表示装置
JP4888181B2 (ja) 画像処理装置及び電子機器
JP5950652B2 (ja) 画像処理回路、半導体装置、画像処理装置
JP2008116812A (ja) 表示装置、プロジェクタおよび表示方法
JP2009098692A (ja) 画像のサイズ変更方法、サイズ変更器、画像処理装置および電子機器
JP5157419B2 (ja) 画像処理装置、画像処理方法及び電子機器
JP2006013701A (ja) 表示コントローラ、電子機器及び画像データ供給方法
JP2009282527A (ja) ピクセルデータを垂直にスケーリングするための方法および装置
JP2005266792A (ja) 大型のオーバーレイされたカメラ画像を表示するためのメモリ効率の良い方法及び装置
JP2005322959A (ja) 画像処理装置、携帯端末、画像処理プログラム及び画像処理方法
JP2005123813A (ja) 画像処理装置
JP2004129212A (ja) 画像投射装置および画像変換方法
JP2011133605A (ja) 画像処理装置及び画像処理方法並びに電子機器
JP4745627B2 (ja) 画像処理装置
JP2005242675A (ja) 画像サイズ縮小処理方法及び画像サイズ拡大処理方法
JP2016095667A (ja) 画像処理装置および電子機器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090424