(57)【特許請求の範囲】
【請求項１】
表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、
第１の画像データが入力される画像データ入力インタフェースと、
第１の画像加工部と、
第２の画像加工部と、
前記第１の画像加工部により加工された第２の画像データが圧縮された第３の画像データをホストに出力するためのホストインタフェースと、
前記第２の画像加工部により加工された第４の画像データを前記表示ドライバに出力するための表示ドライバインタフェースとを含み、
前記第１の画像加工部及び前記第２の画像加工部の各々は、前記第１の画像データに基づく画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を行うことを特徴とする表示コントローラ。
【請求項２】
表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、
第１の画像データが入力される画像データ入力インタフェースと、
第１の画像加工部と、
第２の画像加工部と、
前記第１の画像加工部により加工された第２の画像データが圧縮された第３の画像データを出力するための画像データ出力インタフェースと、
前記第２の画像加工部により加工された第４の画像データを前記表示ドライバに出力するための表示ドライバインタフェースとを含み、
前記第１の画像加工部及び前記第２の画像加工部の各々は、前記第１の画像データに基づく画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を行うことを特徴とする表示コントローラ。
【請求項３】
請求項１又は２において、
前記画像データ入力インタフェースを介して入力される画像データの画像サイズを第１及び第２の縮小率で縮小した画像データを生成する第１及び第２の画像サイズ縮小部を含み、
前記第１の画像加工部が、
前記第１の画像サイズ縮小部によって生成された画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を含む第１の加工処理を行い、
前記第２の画像加工部が、
前記第２の画像サイズ縮小部によって生成された画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を含む第２の加工処理を行い、
前記第１及び第２の画像サイズ縮小部が、
同一の画像データの画像サイズを、それぞれ前記第１及び第２の縮小率でサイズを縮小させた画像データを生成することを特徴とする表示コントローラ。
【請求項４】
請求項３において、
前記第１の画像サイズ縮小部によって生成された画像データが格納される圧縮用画像メモリと、
前記第２の画像サイズ縮小部によって生成された画像データが格納される表示用画像メモリとを含み、
前記第１の画像加工部が、
前記圧縮用画像メモリから画像データを読み出して前記第１の加工処理を行い、
前記第２の画像加工部が、
前記表示用画像メモリから画像データを読み出して前記第２の加工処理を行うことを特徴とする表示コントローラ。
【請求項５】
請求項３において、
画像データに対して圧縮処理を行う画像データ圧縮部と、
前記第１の加工処理後の画像データが格納される圧縮用画像メモリと、
前記第２の加工処理後の画像データが格納される表示用画像メモリとを含み、
前記画像データ圧縮部が、
前記圧縮用画像メモリから読み出された画像データに対して前記圧縮処理を行い、
前記表示ドライバインタフェースが、
前記表示用画像メモリから読み出された画像データを、前記表示ドライバに対して供給することを特徴とする表示コントローラ。
【請求項６】
請求項３乃至５のいずれかにおいて、
前記第１及び第２の画像サイズ縮小部が、
前記第１の画像サイズ縮小部によって縮小された画像サイズが前記第２の画像サイズ縮小部によって縮小された画像サイズ以上となるように、画像データを生成することを特徴とする表示コントローラ。
【請求項７】
表示パネルと、
請求項１乃至６のいずれか記載の表示コントローラと、
前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含むことを特徴とする電子機器。
【請求項８】
請求項７において、
前記表示コントローラとの間で画像データの入出力を行うホストを含むことを特徴とする電子機器。
【請求項９】
表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、
画像データ入力インタフェースに第１の画像データを入力するステップと、
前記第１の画像データに基づく画像データを第２の画像データに加工する第１の加工処理を行うステップと、
前記第１の画像データに基づく画像データを第４の画像データに加工する第２の加工処理を行うステップと、
前記第２の画像データが圧縮された第３の画像データを画像データ出力インタフェースに入力するステップと、
前記第４の画像データを表示ドライバに供給するステップと、を含み、
前記第１の加工処理及び前記第２の加工処理は、それぞれ前記第１の画像データに基づく画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を行うことを特徴とする画像データ供給方法。
【請求項１０】
請求項９において、
前記入力画像データを第１の縮小率で画像サイズを縮小させた画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を含む第１の加工処理を行い、
前記入力画像データを第２の縮小率で画像サイズを縮小させた画像データに対し、画像の向きを回転させる回転処理及び鏡像反転させる鏡像反転処理のうち少なくとも１つの処理を含む第２の加工処理を行うことを特徴とする画像データ供給方法。
【請求項１１】
請求項１０において、
前記第１の縮小率で縮小された画像サイズが、前記第２の縮小率で縮小された画像サイズ以上となるように、縮小後の画像データを生成することを特徴とする画像データ供給方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示コントローラ、電子機器及び画像データ供給方法に関する。
【背景技術】
【０００２】
近年、液晶表示（Liquid Crystal Display：ＬＣＤ）パネルに代表される表示パネルが、携帯電話機等の携帯機器（広義には、電子機器）に実装されることが多い。表示パネルは、画像データに基づいて表示ドライバにより駆動される。画像データは、例えばカメラモジュールにより取り込まれたものであったり、ホストによって生成又は加工されたものであったりする。表示ドライバは、このような画像データと表示同期信号とを受けて、表示パネルの駆動制御を行う。表示コントローラは、この画像データ及び表示同期信号の供給をホストに代わって行い、該ホストの処理負荷を軽減させることができる。
【特許文献１】特開平１０−２１０３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
表示コントローラは、例えばカメラモジュールから取り込んだ画像を表示パネルに表示させるために該カメラモジュールからの画像データを表示ドライバに出力する。その一方、カメラモジュールから取り込んだ静止画又は動画の画像データを保存させるために該画像データに対して圧縮処理を施すことができる。
【０００４】
ところで、カメラモジュールによって取り込まれる画像の向きは固定であることが多い。そのため、表示コントローラが、カメラモジュールからの画像データの画像の向きを回転させて回転後の画像データを生成し、該画像データを表示ドライバに供給したり、該画像データに対して圧縮処理を行って静止画等の画像データの保存に用いたりしていた。
【０００５】
しかしながら、表示パネルに表示させる画像の向きと圧縮処理を行う画像の向きとが異なる場合がある。この場合、同時に別々の回転角度で画像の向きを回転させることができず、フレーム毎に回転角度を異ならせて表示用及び圧縮用にそれぞれ回転処理を行っていた。従って、表示パネルに表示される画像のフレームと圧縮処理されて保存される画像のフレームとが別のフレームとなり、カメラモジュールで連写して取り込んだ画像や動画像として保存されたものが表示パネルに表示されたものと異なってしまうという問題があった。
【０００６】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、圧縮処理用及び表示用画像の向きが異なる場合であっても、圧縮処理用画像と同じフレームの表示用画像を表示させる表示ドライバ、電子機器及び画像データ供給方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、ホストに接続され、表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、画像データが入力される画像データ入力インタフェースと、画像データの画像の向きを第１の回転角度で回転させる回転処理及び鏡像反転処理のうち少なくとも１つの処理を含む第１の加工処理を行う第１の画像加工部と、画像データの画像の向きを第２の回転角度で回転させる回転処理及び鏡像反転処理のうち少なくとも１つの処理を含む第２の加工処理を行う第２の画像加工部と、前記第１の加工処理後の画像データに対して圧縮処理を行う画像データ圧縮部と、前記圧縮処理後の画像データが格納される圧縮データ用メモリと、前記圧縮データ用メモリに格納された画像データを入出力するためのホストインタフェースと、前記第２の加工処理後の画像データを前記表示ドライバに出力するための表示ドライバインタフェースとを含み、前記第１及び第２の画像加工部が、前記画像データ入力インタフェースを介して入力される同一フレームの画像データに対して前記第１及び第２の加工処理を行う表示コントローラに関係する。
【０００８】
本発明においては、第１の画像加工部が、例えば保存用として圧縮処理に供される画像データに対して第１の加工処理を行い、第２の画像加工部が、例えば表示用として表示ドライバに供される画像データに対して第２の加工処理を行うことができる。そして、この際、第１及び第２の画像加工部は、それぞれ別個の回転処理、鏡像反転処理を行うことができるため、同一フレームの画像データに対して、第１の加工処理後の画像データが圧縮データ用メモリに格納され、第２の加工処理後の画像データが表示ドライバインタフェースに出力されることになる。
【０００９】
これにより、表示パネルに表示させる画像の向きと圧縮処理対象の画像の向きとが異なる場合であっても、表示パネルの表示画像のフレームと圧縮処理された画像のフレームとを同一のフレームの画像にできる。従って、表示画像のイメージと実際に保存される画像のイメージとが異なるという事態を回避できるようになる。
【００１０】
また本発明に係る表示コントローラでは、前記画像データ入力インタフェースを介して入力される画像データの画像サイズを第１及び第２の縮小率で縮小した画像データを生成する第１及び第２の画像サイズ縮小部を含み、前記第１の画像加工部が、前記第１の画像サイズ縮小部によって生成された画像データに対し、前記第１の加工処理を行い、前記第２の画像加工部が、前記第２の画像サイズ縮小部によって生成された画像データに対し、前記第２の加工処理を行い、前記第１及び第２の画像サイズ縮小部が、同一の画像データの画像サイズを、それぞれ前記第１及び第２の縮小率でサイズを縮小させた画像データを生成することができる。
【００１１】
画像データ入力インタフェースを介して入力される画像データは、例えばカメラモジュールによって取り込まれる。カメラモジュールの高機能化はより一層進み、カメラモジュールが取り込む画像サイズは、拡大する傾向にある。ところが、例えば保存用に用いられる圧縮処理後の画像及び表示パネルに表示される画像のサイズは小さくて済む場合が多い。従って、本発明によれば、画像サイズを縮小後に上述の加工処理を行うため、加工処理の処理時間が短くなって、消費電力を削減できるようになる。
【００１２】
また本発明に係る表示コントローラでは、前記第１の画像サイズ縮小部によって生成された画像データが格納される圧縮用画像メモリと、前記第２の画像サイズ縮小部によって生成された画像データが格納される表示用画像メモリとを含み、前記第１の画像加工部が、前記圧縮用画像メモリから画像データを読み出して前記第１の加工処理を行い、前記第２の画像加工部が、前記表示用画像メモリから画像データを読み出して前記第２の加工処理を行うことができる。
【００１３】
本発明においては、第１の画像サイズ縮小部と第１の画像加工部との間に圧縮用画像メモリを設けることで、画像データ入力インタフェースを介して連続して入力される画像データに対する処理が間に合わなくなるといった事態を回避できる。画像データ入力インタフェースを介して入力される画像データの画像サイズを縮小してから回転処理等を行った後に圧縮処理を行う場合に比べて、画像サイズを縮小して一旦圧縮用画像メモリに保存させるため、より高速に入力される画像データに対して圧縮処理を確実に実行できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、圧縮用画像メモリの容量を小さくできる。
【００１４】
同様に、第２の画像サイズ縮小部と第２の画像加工部６０との間に表示用画像メモリを設けることで、画像データ入力インタフェースを介して連続して入力される画像データに対する処理が間に合わなくなるといった事態を回避できる。画像データ入力インタフェースを介して入力される画像データに対して、画像サイズを縮小してから回転処理等を行った後に表示ドライバに出力する場合に比べて、画像サイズを縮小して一旦表示用画像メモリに保存させるため、より高速に入力される画像データに対して確実に表示ドライバに出力できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、表示用画像メモリの容量を小さくできる。
【００１５】
また本発明に係る表示コントローラでは、前記第１の加工処理後の画像データが格納される圧縮用画像メモリと、前記第２の加工処理後の画像データが格納される表示用画像メモリとを含み、前記画像データ圧縮部が、前記圧縮用画像メモリから読み出された画像データに対して前記圧縮処理を行い、前記表示ドライバインタフェースが、前記表示用画像メモリから読み出された画像データを、前記表示ドライバに対して供給することができる。
【００１６】
本発明においては、画像データ入力インタフェースを介して入力される画像データの画像サイズを縮小してから回転処理等を行った後に圧縮処理を行う場合に比べて、画像サイズを縮小して一旦圧縮用画像メモリに保存させるため、より高速に入力される画像データに対して圧縮処理を確実に実行できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、圧縮用画像メモリの容量を小さくできる。
【００１７】
また同様に、画像サイズを縮小してから回転処理等を行った後に表示ドライバに出力する場合に比べて、画像サイズを縮小して一旦表示用画像メモリに保存させるため、より高速に入力される画像データに対して確実に表示ドライバに出力できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、表示用画像メモリの容量を小さくできる。
【００１８】
また本発明に係る表示コントローラでは、前記第１及び第２の画像サイズ縮小部が、前記第１の画像サイズ縮小部によって縮小された画像サイズが前記第２の画像サイズ縮小部によって縮小された画像サイズ以上となるように、画像データを生成することができる。
【００１９】
本発明によれば、表示用の画像データの画像のサイズが、圧縮処理される画像データの画像のサイズより小さくでき、画像の用途に適した最適な画像のサイズ制御を実現できる。
【００２０】
また本発明は、表示パネルと、上記のいずれか記載の表示コントローラと、前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含む電子機器に関係する。
【００２１】
また本発明に係る電子機器では、前記表示コントローラとの間で画像データの入出力を行うホストを含むことができる。
【００２２】
本発明によれば、表示パネルに出力される画像データの画像の向きと、圧縮処理される画像データの画像の向きとが異なったとしても、表示画像と圧縮画像とを同一フレームの画像にできる。そのため、表示画像のイメージと圧縮画像のイメージとが異なるという事態を回避できる。
【００２３】
また本発明は、表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、撮像部からの入力画像データに対し、画像の向きを第１の回転角度で回転させる回転処理及び鏡像反転処理のうち少なくとも１つの処理を含む第１の加工処理を行い、前記入力画像データに対し、画像の向きを第２の回転角度で回転させる回転処理及び鏡像反転処理のうち少なくとも１つの処理を含む第２の加工処理を行い、前記第１の加工処理が行われた画像データに対して圧縮処理を行い、前記第２の加工処理が行われた画像データを、前記表示ドライバに供給する画像データ供給方法に関係する。
【００２４】
また本発明に係る画像データ供給方法では、前記入力画像データを第１の縮小率で画像サイズを縮小させた画像データに対し、前記第１の加工処理を行い、前記入力画像データを第２の縮小率で画像サイズを縮小させた画像データに対し、前記第２の加工処理を行うことができる。
【００２５】
また本発明に係る画像データ供給方法では、前記第１の縮小率で縮小された画像サイズが、前記第２の縮小率で縮小された画像サイズ以上となるように、縮小後の画像データを生成することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【００２７】
図１に、本実施形態における表示コントローラの構成のブロック図を示す。
【００２８】
表示コントローラ（ＬＣＤコントローラ）１０は、図示しないホスト及び表示ドライバの間に設けられる。そして、表示コントローラ１０は、表示パネル（ＬＣＤパネル）を駆動する表示ドライバ（ＬＣＤドライバ）に画像データを供給する。
【００２９】
表示コントローラ１０は、カメラインタフェース（InterFace：Ｉ／Ｆ）回路（広義には、画像データ入力インタフェース）２０と、ＬＣＤＩ／Ｆ回路（広義には、表示ドライバインタフェース）３０と、ホストＩ／Ｆ回路（広義には、ホストインタフェース）４０とを含む。
【００３０】
カメラＩ／Ｆ回路２０には、撮像部としての図示しないカメラモジュールからの画像データが入力される。カメラＩ／Ｆ回路２０は、該画像データのインタフェース処理（カメラモジュールとの間の受信処理や、信号のバッファリング）を行う。ＬＣＤＩ／Ｆ回路３０は、画像データを図示しない表示ドライバに出力する。ＬＣＤＩ／Ｆ回路３０は、画像データのインタフェース処理（表示ドライバとの間の送信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データを表示ドライバに出力する。ホストＩ／Ｆ回路４０には、画像データの生成や加工を行う図示しないホストからの画像データが入力される。このとき、ホストＩ／Ｆ回路４０は、インタフェース処理（ホストとの間の受信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データを、表示コントローラ１０内のメモリに対して供給し、該メモリに書き込む。またホストＩ／Ｆ回路４０には、表示コントローラ１０内のメモリから読み出された画像データが入力される。ホストＩ／Ｆ回路４０は、インタフェース処理（ホストとの間の送信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データをホストに出力する。
【００３１】
この表示コントローラ１０は、第１及び第２の画像加工部５０、６０と、画像データ圧縮部７０と、圧縮データ用メモリ８０とを含む。
【００３２】
第１の画像加工部５０は、第１の加工処理を行う。第１の加工処理は、第１の画像加工部５０に入力された画像データの画像の向きを第１の回転角度で回転させる回転処理及び鏡像反転（ミラー反転）処理のうち少なくとも１つの処理を含む。第１の画像加工部５０が回転処理を行う場合、所定の基準点を基準に、第１の画像加工部５０に設定された第１の回転角度だけ画像の向きを回転させて、回転後の画像データを生成する。第１の画像加工部５０が鏡像反転処理を行う場合、該処理のイネーブル情報によりイネーブルに設定されたことを条件に、処理後の画像の水平方向の画素の並び方向が処理前の画像の水平方向の画素の並び方向と反対となるように画像データを生成する。
【００３３】
第２の画像加工部６０は、第２の加工処理を行う。第２の加工処理は、第２の画像加工部６０に入力された画像データの画像の向きを第２の回転角度で回転させる回転処理及び鏡像反転処理のうち少なくとも１つの処理を含む。第２の画像加工部６０が回転処理を行う場合、所定の基準点を基準に、第２の画像加工部６０に設定された第２の回転角度だけ画像の向きを回転させて、回転後の画像データを生成する。第２の画像加工部６０が鏡像反転処理を行う場合、該処理のイネーブル情報によりイネーブルに設定されたことを条件に、処理後の画像の水平方向の画素の並び方向が処理前の画像の水平方向の画素の並び方向と反対となるように画像データを生成する。
【００３４】
第１及び第２の画像加工部５０、６０は、例えば同様の構成を有することができ、同一フレームの画像データに対してそれぞれ異なる回転処理又は鏡像反転処理により異なる画像データを生成できればよい。
【００３５】
画像データ圧縮部７０は、画像データに対して圧縮処理を行う。この圧縮処理としては、ＪＰＥＧ（Joint Photographic Experts Group）やＭＰＥＧ（Moving Picture Experts Group）の規格で規定された処理を採用できる。この画像データ圧縮部７０は、第１の画像加工部５０によって行われた第１の加工処理後の画像データに対して、上記の圧縮処理を行う。圧縮データ用メモリ８０には、画像データ圧縮部７０によって行われた圧縮処理後の画像データが格納される。圧縮データ用メモリ８０に格納された画像データは、ホストＩ／Ｆ回路４０を介してホストに出力される。また該ホストによって加工された画像データが、ホストＩ／Ｆ回路４０を介して圧縮データ用メモリ８０に格納される。
【００３６】
一方、ＬＣＤＩ／Ｆ回路３０には、第２の画像加工部６０によって行われた第２の加工処理後の画像データが供給される。
【００３７】
そして、第１及び第２の画像加工部５０、６０が、カメラＩ／Ｆ回路２０を介して入力された同一フレームの画像データに対して、それぞれ第１及び第２の加工処理を行う。この際、第１及び第２の画像加工部５０、６０は、それぞれ別個に設定される第１及び第２の回転角度に基づいて回転処理を行うことができる。或いは、第１及び第２の画像加工部５０、６０は、それぞれ別個に設定される各画像加工部の鏡像反転処理のイネーブル情報に基づいて鏡像反転処理を行うことができる。
【００３８】
従って、第１の画像加工部５０は、保存用として圧縮処理に供される画像データに対して第１の加工処理を行う。また第２の画像加工部６０は、表示用として表示ドライバに供される画像データに対して第２の加工処理を行う。この際、第１及び第２の画像加工部５０、６０は、別個の回転処理、鏡像反転処理を行うことができる。この結果、同一フレームの画像データに対して、第１の加工処理後の画像データが保存用に圧縮データ用メモリ８０に格納され、第２の加工処理後の画像データが表示用にＬＣＤＩ／Ｆ回路３０に出力される。
【００３９】
なお保存用の画像データは、例えばホストに読み出されて携帯機器に着脱可能な保存用メモリに格納されたり、図示しない通信手段による送信に供されたりする。
【００４０】
以上のような構成により、表示パネルに表示させる画像の向きと圧縮処理対象の画像の向きとが異なる場合であっても、表示パネルの表示画像のフレームと圧縮処理された保存画像のフレームとが同一のフレームとなる。これにより、表示画像のイメージと実際に保存される画像のイメージとが異なるという事態を回避できるようになる。
【００４１】
また表示コントローラ１０は、カメラＩ／Ｆ回路２０を介して入力される画像データの画像サイズを縮小してから、第１及び第２の加工処理を実施できることが望ましい。高機能化するカメラモジュールによって取り込まれる画像データの画像サイズは、拡大する傾向にある。ところが、保存及び表示用の画像のサイズは小さくて済む場合が多く、上述の加工処理においてはサイズが小さい画像の画像データほど処理時間が短くなって、消費電力を削減できる。
【００４２】
そこで表示コントローラ１０は、第１及び第２の画像サイズ縮小部９０、１００を含むことができる。第１の画像サイズ縮小部９０は、カメラＩ／Ｆ回路２０を介して入力される画像データの画像サイズを第１の縮小率で縮小した画像データを生成する。第２の画像サイズ縮小部１００は、カメラＩ／Ｆ回路２０を介して入力される画像データの画像サイズを第２の縮小率で縮小した画像データを生成する。第１及び第２の画像サイズ縮小部９０、１００は、同一の画像データに対して、それぞれ個別に設定される第１及び第２の縮小率でサイズを縮小させた画像データを生成する。
【００４３】
そして第１の画像加工部５０が、第１の画像サイズ縮小部９０によって生成された画像データに対し、第１の加工処理を行う。また第２の画像加工部６０が、第２の画像サイズ縮小部１００によって生成された画像データに対し、第２の加工処理を行う。
【００４４】
第１の縮小率と第２の縮小率は等しくてもよいし、異なってもよい。画像の用途を考慮すると、表示用画像のサイズが保存用画像のサイズ以下となる場合が多い。この場合、第１及び第２の画像サイズ縮小部９０、１００が、第１の縮小率で縮小された画像サイズが、第２の縮小率で縮小された画像サイズ以上となるように縮小後の画像データを生成することが望ましい。即ち、縮小率が大きいほど画像サイズが小さくなる場合、第１の縮小率が第２の縮小率以下であることが望ましい。
【００４５】
更に表示コントローラ１０は、圧縮用画像メモリ１１０、表示用画像メモリ１２０を含むことができる。圧縮用画像メモリ１１０には、第１の画像サイズ縮小部９０によって生成された画像データが格納される。表示用画像メモリ１２０には、第２の画像サイズ縮小部１００によって生成された画像データが格納される。そして第１の画像加工部５０が、圧縮用画像メモリ１１０から画像データを読み出して第１の加工処理を行い、第２の画像加工部６０が、表示用画像メモリ１２０から画像データを読み出して第２の加工処理を行う。
【００４６】
以上のように、第１の画像サイズ縮小部９０と第１の画像加工部５０との間に圧縮用画像メモリ１１０を設けることで、カメラＩ／Ｆ回路２０を介して連続して入力される画像データに対する処理が間に合わなくなるといった事態を回避できる。カメラＩ／Ｆ回路２０を介して入力される画像データの画像サイズを縮小してから回転処理等を行った後に圧縮処理を行う場合に比べて、画像サイズを縮小して一旦圧縮用画像メモリ１１０に保存させるため、より高速に入力される画像データに対して圧縮処理を確実に実行できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、圧縮用画像メモリ１１０の容量を小さくできる。
【００４７】
同様に、第２の画像サイズ縮小部１００と第２の画像加工部６０との間に表示用画像メモリ１２０を設けることで、カメラＩ／Ｆ回路２０を介して連続して入力される画像データに対する処理が間に合わなくなるといった事態を回避できる。カメラＩ／Ｆ回路２０を介して入力される画像データに対して、画像サイズを縮小してから回転処理等を行った後に表示ドライバに出力する場合に比べて、画像サイズを縮小して一旦表示用画像メモリ１２０に保存させるため、より高速に入力される画像データに対して確実に表示ドライバに出力できるようになる。しかも、画像サイズを縮小してから保存するようにしたため、表示用画像メモリ１２０の容量を小さくできる。
【００４８】
なお表示コントローラ１０は、圧縮データ用メモリ８０に加えて、圧縮用画像メモリ１１０及び表示用画像メモリ１２０を含むことになるが、これらを１つのメモリブロックとして設けてもよいし、複数のメモリブロックとして設けてもよい。これらメモリが独立してアクセスできればよい。
【００４９】
ここで、本実施形態の比較例との対比において、本実施形態を説明する。
【００５０】
図２に、本実施形態の比較例における表示コントローラの構成の概要のブロック図を示す。但し、図１と同一部分には同一符号を付し、適宜説明を省略する。
【００５１】
比較例における表示コントローラ１５０は、カメラＩ／Ｆ回路２０、ＬＣＤＩ／Ｆ回路３０、ホストＩ／Ｆ回路４０、画像データ圧縮部７０、圧縮データ用メモリ８０を含む。更に表示コントローラ１５０は、画像加工部１５２と表示用画像メモリ１５４とを含む。表示用画像メモリ１５４には、カメラＩ／Ｆ回路２０からの画像データがそのまま格納される。画像加工部１５２は、表示用画像メモリ１５４から読み出された画像データに対して回転処理を行い、回転処理後の画像データを画像データ圧縮部７０及びＬＣＤＩ／Ｆ回路３０に出力する。
【００５２】
即ち、比較例では、１フレーム分の画像データに対して１つの回転角度の回転処理を行うことができる。そのため、圧縮処理用の画像の向きと表示ドライバに出力する表示用の画像の向きとが異なる場合、次のような問題がある。
【００５３】
図３に、圧縮処理用の画像の向きと表示用の画像の向きとが異なる場合の説明図を示す。図３では、カメラモジュールで取り込まれるカメラ取り込み画像の向きと圧縮処理後の画像の向きと表示パネルの表示画像の向きとが、それぞれ異なる場合を示している。カメラ取り込み画像の画像データは、カメラＩ／Ｆ回路２０を介して表示コントローラ１５０に入力される。圧縮処理後の画像の画像データは、ホストＩ／Ｆ回路４０を介して出力される。表示画像の画像データは、ＬＣＤＩ／Ｆ回路３０を介して表示ドライバに出力される。
【００５４】
この場合、図２に示す比較例における表示コントローラ１５０は、１フレーム分の画像データに対して１つの回転角度の回転処理しかできないため、同一フレームの画像データに対して異なる回転角度の回転処理を行うことができない。
【００５５】
図４（Ａ）、（Ｂ）に、比較例と本実施形態における処理の違いの模式的な説明図を示す。
【００５６】
図４（Ａ）は、連続するフレームｆ、ｆ＋１、ｆ＋２、・・・の各フレームにおける比較例の処理例を示している。図４（Ｂ）は、連続するフレームｆ、ｆ＋１、ｆ＋２、・・・の各フレームおける本実施形態の処理例を示している。ここでは、表示画像の向きを回転させる回転角度をAng1、圧縮処理用の画像の向きを回転させる回転角度をAng2としている。
【００５７】
比較例では、１フレームの画像データに対して１つの回転角度の回転処理しか実行できないため、例えばフレームｆにおいて表示用に回転角度Ang1で回転処理を行うと、フレームｆの画像データを用いて圧縮処理用の回転処理ができない。そのため、次のフレームｆ＋１において、圧縮処理用の回転角度Ang2で回転処理を行う。そして、フレームｆ＋１において圧縮処理用に回転角度Ang2で回転処理を行うため、フレームｆ＋１の画像データを用いて表示用の回転処理ができない。
【００５８】
またカメラＩ／Ｆ回路２０を介して入力された画像データをそのまま表示用画像メモリ１５４に格納するため、表示用や保存用に供される画像サイズは小さくて済むにも関わらず、表示用画像メモリ１５４の容量を大きくせざるを得なかった。
【００５９】
これに対して本実施形態では、第１及び第２の画像加工部５０、６０がそれぞれ別個に設定されて同一フレームの画像データに対して独立に回転処理を行う。そのため、図４（Ｂ）に示すように、連続するフレームの画像データに対して回転角度Ang1、Ang2の回転処理を行った画像データを生成できるようになる。この結果、表示パネルに表示される画像のフレームと圧縮処理されて保存される画像のフレームとが同一フレームとなり、カメラモジュールで連写して取り込んだ画像や動画像として保存されたものが表示パネルに表示されたものと異なってしまうという事態を回避できる。
【００６０】
更に、カメラＩ／Ｆ回路２０を介して入力された画像データの画像サイズを第１及び第２の画像サイズ縮小部９０、１００により縮小してからメモリに格納するため、表示用画像メモリ及び圧縮用画像メモリの容量を小さくできる。
【００６１】
次に、本実施形態における表示コントローラの詳細なハードウェア構成例について説明する。
【００６２】
図５に、本実施形態における表示コントローラの詳細なハードウェア構成例のブロック図を示す。
【００６３】
表示コントローラ２００では、図１のカメラＩ／Ｆ回路２０の機能はカメラＩ／Ｆ回路２１０によって実現される。図１のＬＣＤＩ／Ｆ回路３０の機能は、ＬＣＤＩ／Ｆ回路２１２によって実現される。図１のホストＩ／Ｆ回路４０の機能は、ホストＩ／Ｆ回路２１４によって実現される。図１の第１の画像加工部５０の機能は、画像リードアドレス生成回路２２０によって実現される。図１の第２の画像加工部６０の機能は、ＬＣＤ表示アドレス生成回路２３０によって実現される。図１の画像データ圧縮部７０の機能は、ＪＰＥＧ圧縮回路２４０によって実現される。図１の圧縮データ用メモリ８０の機能は、ＪＰＥＧ圧縮データメモリ２５０によって実現される。図１の第１の画像サイズ縮小部９０の機能は、第１の画像サイズ縮小回路２６０によって実現される。図１の第２の画像サイズ縮小部１００の機能は、第２の画像サイズ縮小回路２７０によって実現される。図１の圧縮用画像メモリ１１０の機能は、フレームメモリ２８０によって実現される。図１の表示用画像メモリ１２０の機能は、表示用メモリ２９０によって実現される。
【００６４】
そして表示コントローラ２００は、更に、ＦＩＦＯ３００、３０２、第１及び第２のカメラデータアドレス生成回路３０４、３０６、ＬＣＤ制御信号生成回路３０８、圧縮データアドレス生成回路３１０、制御レジスタ３２０、表示用メモリアクセス調停回路３２２、フレームメモリアクセス調停回路３２４、ＪＰＥＧ圧縮データメモリアクセス調停回路３２６を含む。
【００６５】
表示用メモリアクセス調停回路３２２は、ホストＩ／Ｆ回路２１４、第２のカメラデータアドレス生成回路３０６及びＬＣＤ表示アドレス生成回路２３０の表示用メモリ２９０へのアクセスを調停する。表示用メモリアクセス調停回路３２２は、これらの複数の書き込み要求信号WRReq及び複数の読み出し要求信号RDReqを調停し、調停の結果アクセスが許可された回路に対して、要求信号に対応するアクノリッジ信号ACKでそのアクセスの終了を通知する。
【００６６】
フレームメモリアクセス調停回路３２４は、ホストＩ／Ｆ回路２１４、第１のカメラデータアドレス生成回路３０４及び画像リードアドレス生成回路２２０のフレームメモリ２８０へのアクセスを調停する。フレームメモリアクセス調停回路３２４もまた、複数の書き込み要求信号WRReq及び複数の読み出し要求信号RDReqを調停し、調停の結果アクセスが許可された回路に対して、要求信号に対応するアクノリッジ信号ACKでそのアクセスの終了を通知する。
【００６７】
ＪＰＥＧ圧縮データメモリアクセス調停回路３２６は、ホストＩ／Ｆ回路２１４及び圧縮データアドレス生成回路３１０のＪＰＥＧ圧縮データメモリ２５０へのアクセスを調停する。ＪＰＥＧ圧縮データメモリアクセス調停回路３２６もまた、複数の書き込み要求信号WRReq及び読み出し要求信号RDReqを調停し、調停の結果アクセスが許可された回路に対して、要求信号に対応するアクノリッジ信号ACKでそのアクセスの終了を通知する。
【００６８】
ＦＩＦＯ３００は、先入れ先出し記憶回路として機能する。ＦＩＦＯ３００は、カメラＩ／Ｆ回路２１０に入力された画像データの受信バッファとして機能し、ＦＩＦＯ３００に取り込まれた画像データを第１及び第２の画像サイズ縮小回路２６０、２７０の両方に出力する。
【００６９】
第１の画像サイズ縮小回路２６０によって第１の縮小率で画像サイズが縮小された画像データは、フレームメモリアクセス調停回路３２４に出力される。第１のカメラデータアドレス生成回路３０４は、第１の画像サイズ縮小回路２６０からフレームメモリアクセス調停回路３２４に出力される画像データをフレームメモリ２８０に書き込むための書き込み要求信号WRReq、ライトアドレスを生成する。
【００７０】
第２の画像サイズ縮小回路２７０によって第２の縮小率で画像サイズが縮小された画像データは、表示用メモリアクセス調停回路３２２に出力される。第２のカメラデータアドレス生成回路３０６は、第２の画像サイズ縮小回路２７０から表示用メモリアクセス調停回路３２２に出力される画像データを表示用メモリ２９０に書き込むための書き込み要求信号WRReq、ライトアドレスを生成する。
【００７１】
ＦＩＦＯ３０２もまた、先入れ先出し記憶回路として機能する。ＦＩＦＯ３０２は、表示用メモリアクセス調停回路３２２から出力された画像データの送信バッファとして機能し、ＦＩＦＯ３０２に取り込まれた画像データを順次ＬＣＤＩ／Ｆ回路２１２に出力する。ＬＣＤ表示アドレス生成回路２３０は、表示用メモリ２９０から読み出してＦＩＦＯ３０２に出力するための読み出し要求信号RDReq、リードアドレスを生成する。このときＬＣＤ表示アドレス生成回路２３０は、第２の回転角度で画像の向きを回転させた画像、鏡像反転させた画像を生成するためのリードアドレスを生成する。ＬＣＤ制御信号生成回路３０８は、ＦＩＦＯ３０２から出力される画像データと共に表示ドライバに供給される垂直同期信号、水平同期信号及びドットクロック等の表示同期信号であるＬＣＤ制御信号を生成する。
【００７２】
画像リードアドレス生成回路２２０は、フレームメモリ２８０から読み出してＪＰＥＧ圧縮回路２４０に出力するための読み出し要求信号RDReq、リードアドレスを生成する。
このとき画像リードアドレス生成回路２２０は、第１の回転角度で画像の向きを回転させた画像、鏡像反転させた画像を生成するためのリードアドレスを生成する。
【００７３】
ＪＰＥＧ圧縮回路２４０は、フレームメモリ２８０からの画像データに対してＪＰＥＧの規格で規定された圧縮処理を行い、ＪＰＥＧ圧縮データメモリアクセス調停回路３２６に出力する。圧縮データアドレス生成回路３１０は、ＪＰＥＧ圧縮回路２４０からＪＰＥＧ圧縮データメモリアクセス調停回路３２６に出力される画像データをＪＰＥＧ圧縮データメモリ２５０に書き込むための書き込み要求信号WRReq、ライトアドレスを生成する。
【００７４】
制御レジスタ３２０は、表示コントローラ２００を制御するための制御データが設定され、表示コントローラ２００の各部は、制御レジスタ３２０の制御データに基づいて制御される。
【００７５】
次に、図５の表示コントローラ２００の要部について説明する。
【００７６】
図６に、図５の制御レジスタ３２０の構成例のブロック図を示す。
【００７７】
制御レジスタ３２０は、画像リードアドレス制御レジスタ３５２、表示アドレス制御レジスタ３５４、第１の画像サイズ縮小制御レジスタ３５６、第２の画像サイズ縮小制御レジスタ３５８を含む。画像リードアドレス制御レジスタ３５２には、例えばホストによってホストＩ／Ｆ回路２１４を介して設定される画像リードアドレス生成回路用制御情報が保持される。表示アドレス制御レジスタ３５４には、例えばホストによってホストＩ／Ｆ回路２１４を介して設定されるＬＣＤ表示アドレス生成回路用制御情報が保持される。第１の画像サイズ縮小制御レジスタ３５６には、例えばホストによってホストＩ／Ｆ回路２１４を介して設定される第１の画像サイズ縮小回路用制御情報が保持される。第２の画像サイズ縮小制御レジスタ３５８には、例えばホストによってホストＩ／Ｆ回路２１４を介して設定される第２の画像サイズ縮小回路用制御情報が保持される。各制御レジスタに保持される制御情報については、後述する。
【００７８】
図７に、画像リードアドレス生成回路２２０の構成の概要を示す。図７では、フレームメモリ２８０と画像リードアドレス生成回路２２０との模式的な接続関係を示している。画像リードアドレス生成回路２２０は、図１の第１の画像加工部５０の機能を実現する。
【００７９】
画像リードアドレス生成回路２２０には、ミラー機能イネーブル情報、回転角度情報、リード開始アドレス、オフセットアドレス、水平画素数及び垂直画素数が入力される。これらの情報は、ホストによって設定される。ホストは、制御レジスタ３２０の画像リードアドレス制御レジスタ３５２に、これらの情報を画像リードアドレス生成回路用制御情報として設定する。そして、画像リードアドレス生成回路２２０は、画像リードアドレス生成回路用制御情報に基づいて、リードアドレスを決定し、フレームメモリ２８０からデータを読み出すための読み出し要求RDReqを出力する。画像リードアドレス生成回路２２０は、上記の読み出し要求RDReqに対応したフレームメモリ２８０からのアクノリッジ信号ACKでそのアクセスの終了が通知される。
【００８０】
図８に、画像リードアドレス生成回路用制御情報の説明図を示す。
【００８１】
以下では、第１の回転角度として０度、９０度、１８０度、２７０度のみが指定できるものとし、各回転角度について更に鏡像反転を行うか否かを指定できるものとする。
【００８２】
フレームメモリ２８０には、水平方向の画素数が水平画素数であり垂直方向の画素数が垂直画素数である矩形の画像の各画素の画像データが、画像先頭アドレスから画像最終アドレスまでの記憶領域に格納されている。水平方向の各画素の画像データは、水平方向の各ラインの先頭アドレスを基準に更新されるアドレスにより指定されるフレームメモリ２８０の記憶領域に格納される。
【００８３】
水平方向の１つのラインの最終アドレスと次のラインの先頭アドレスは連続していなくてもよく、あるラインの先頭アドレスとその次のラインの先頭アドレスのアドレス間隔をオフセットアドレスと定義する。なお、あるラインの最終アドレスとその次のラインの先頭アドレスが連続している場合、オフセットアドレスが０となる。
【００８４】
画像リードアドレス生成回路用制御情報のうちミラー機能イネーブル情報は、鏡像反転処理を行うか否かを指定するための情報であり、回転角度情報は、第１の回転角度を指定するための情報である。またリード開始アドレスは、フレームメモリ２８０から画像データを読み出すための最初のリードアドレスである。
【００８５】
ホストは、回転角度、ミラー機能イネーブル情報に応じて、リード開始アドレス及びオフセットアドレスを指定する必要がある。
【００８６】
図９（Ａ）〜（Ｄ）、図１０（Ａ）〜（Ｄ）は、回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図である。ここでは、第１の加工処理後の画像のイメージを模式的に示している。
【００８７】
図９（Ａ）は、第１の回転角度が０度、ミラー機能がディセーブル状態（オフ）に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、第１の加工処理後の画像の向きは処理前と同じであるため、左上のアドレスをリード開始アドレスＳＡとし、更新方向ＤＩＲ１にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスＯＡ１を用いて求める。このように読み出された１ライン分の画素を、圧縮処理用の画像の水平方向の１ライン分の画素とする。
【００８８】
図９（Ｂ）は、第１の回転角度が９０度、ミラー機能がイネーブル状態（オン）に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、左上のアドレスをリード開始アドレスＳＡとして、更新方向ＤＩＲ２にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスＯＡ２を用いて求める。このように読み出された１ライン分の画素を、圧縮処理用の画像の水平方向の１ライン分の画素とする。
【００８９】
図９（Ｃ）は、第１の回転角度が９０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９０】
図９（Ｄ）は、第１の回転角度が０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９１】
図１０（Ａ）は、第１の回転角度が２７０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９２】
図１０（Ｂ）は、第１の回転角度が１８０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９３】
図１０（Ｃ）は、第１の回転角度が１８０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９４】
図１０（Ｄ）は、第１の回転角度が２７０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【００９５】
図９（Ｃ）、（Ｄ）、図１０（Ａ）〜（Ｄ）についても、図９（Ａ）、（Ｂ）で説明したようにして同様にリードアドレスを求め、該リードアドレスを用いて読み出された１ライン分の画素を、圧縮処理用の画像の水平方向の１ライン分の画素とする。
【００９６】
図１１及び図１２に、図７の画像リードアドレス生成回路の動作フローを示す。ここでは、説明の便宜上、１アドレスで指定される記憶領域に１画素の画像データが格納されるものとする。
【００９７】
また、以下では、第１の回転角度及びミラー機能イネーブル情報の状態について、第１の回転角度のみを示し、ミラー機能がイネーブル状態の場合のみ第１の回転角度の後に「（ミラー）」と簡略化して示す。例えば、「０度」は、第１の回転角度が０度でミラー機能がディセーブル状態であることを示し、「１８０度（ミラー）」は、第１の回転角度が１８０度でミラー機能がイネーブル状態であることを示す。
【００９８】
まず図９（Ａ）〜（Ｄ）、図１０（Ａ）〜（Ｄ）に示したように、第１の回転角度及びミラー機能イネーブル情報に応じてホストによって設定されるリード開始アドレスをリードアドレスＲＤＡに設定し、変数ＬＳＡを０に初期化する（ステップＳ１０）。
【００９９】
次にリードアドレスＲＤＡを用いてフレームメモリ２８０から画像データを読み出す（ステップＳ１１）。
【０１００】
全ラインの読み出しが終了のとき（ステップＳ１２：Ｙ）、一連の処理を終了する（エンド）。
【０１０１】
ステップＳ１２において全ラインの読み出しが終了ではないとき（ステップＳ１２：Ｎ）、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたか否かを判別する（ステップＳ１３）。
【０１０２】
ステップＳ１３において、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されたとき（ステップＳ１３：Ｙ）、リードアドレスＲＤＡに１アドレスを加算してリードアドレスＲＤＡを更新する（ステップＳ１４）。
【０１０３】
ステップＳ１３において、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１３：Ｎ）、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたか否かを判別する（ステップＳ１５）。
【０１０４】
ステップＳ１３において、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたと判別されたとき（ステップＳ１５：Ｙ）、リードアドレスＲＤＡにオフセットアドレスＯＡを加算してリードアドレスＲＤＡを更新する（ステップＳ１６）。ここでオフセットアドレスＯＡは、図９（Ａ）〜（Ｄ）、図１０（Ａ）〜（Ｄ）に示したように、第１の回転角度及びミラー機能イネーブル情報に応じてホストによって設定される。
【０１０５】
ステップＳ１５において、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１５：Ｎ）、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたか否かを判別する（ステップＳ１７）。
【０１０６】
ステップＳ１７において、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されたとき（ステップＳ１７：Ｙ）、リードアドレスＲＤＡから１アドレスを減算してリードアドレスＲＤＡを更新する（ステップＳ１８）。
【０１０７】
ステップＳ１７において、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１７：Ｎ）、「２７０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判断する。そして、リードアドレスＲＤＡからオフセットアドレスＯＡを減算してリードアドレスＲＤＡを更新する（ステップＳ１９）。
【０１０８】
ステップＳ１４、ステップＳ１６、ステップＳ１８及びステップＳ１９に続いて、１ラインの読み出しが終了したか否かを判別する（ステップＳ２０）。１ラインの読み出しが終了していないと判別されたとき（ステップＳ２０：Ｎ）、ステップＳ１１に戻って画像データの読み出しを続ける。
【０１０９】
ステップＳ２０において、１ラインの読み出しが終了したと判別されたとき（ステップＳ２０：Ｙ）、「０度」に設定され、或いは「０度（ミラー）」に設定されたか否かを判別する（ステップＳ２１）。
【０１１０】
ステップＳ２１において、「０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されたとき（ステップＳ２１：Ｙ）、変数ＬＳＡにオフセットアドレスＯＡを加算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２２）。そして、ステップＳ１１に戻る。
【０１１１】
ステップＳ２１において、「０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２１：Ｎ）、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたか否かを判別する（ステップＳ２３）。
【０１１２】
ステップＳ２３において、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判別されたとき（ステップＳ２３：Ｙ）、変数ＬＳＡから１アドレスを減算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２４）。そして、ステップＳ１１に戻る。
【０１１３】
ステップＳ２３において、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２３：Ｎ）、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたか否かを判別する（ステップＳ２５）。
【０１１４】
ステップＳ２５において、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されたとき（ステップＳ２５：Ｙ）、変数ＬＳＡからオフセットアドレスＯＡを減算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２６）。そして、ステップＳ１１に戻る。
【０１１５】
ステップＳ２５において、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２５：Ｎ）、「２７０度」に設定され、或いは「９０度（ミラー）」に設定されたと判断する。そして、変数ＬＳＡに１アドレスを加算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２７）。そして、ステップＳ１１に戻る。
【０１１６】
なお、第１の画像加工部５０として機能する画像リードアドレス生成回路２２０について説明したが、第２の画像加工部６０として機能するＬＣＤ表示アドレス生成回路２３０も同様である。フレームメモリ２８０から読み出す点を表示用メモリ２９０に読み出す点に置き換えることで、ＬＣＤ表示アドレス生成回路２３０も同様に実現できるため、ＬＣＤ表示アドレス生成回路２３０の構成及び動作の説明を省略する。なおこの場合にも、ＬＣＤ表示アドレス生成回路２３０に、ミラー機能イネーブル情報、回転角度情報、リード開始アドレス、オフセットアドレス、水平画素数及び垂直画素数が入力される。これらの情報は、ホストによって設定される。ホストは、制御レジスタ３２０の表示アドレス制御レジスタ３５４に、これらの情報をＬＣＤ表示アドレス生成回路用制御情報として設定する。
【０１１７】
次に、図５の第１の画像サイズ縮小回路２６０について説明する。
【０１１８】
図１３に、第１の画像サイズ縮小回路２６０の構成例のブロック図を示す。図１３では、フレームメモリ２８０と第１の画像サイズ縮小回路２６０との模式的な接続関係を示している。第１の画像サイズ縮小回路２６０は、図１の第１の画像サイズ縮小部９０の機能を実現する。
【０１１９】
第１の画像サイズ縮小回路２６０には、ライト開始アドレス、水平縮小率及び垂直縮小率により定められる第１の縮小率が入力される。これらの情報は、ホストによって設定される。ホストは、制御レジスタ３２０の第１の画像サイズ縮小制御レジスタ３５６に、これらの情報を第１の画像サイズ縮小回路用制御情報として情報を設定する。
【０１２０】
ライト開始アドレスは、フレームメモリ２８０に画像データを書き込むための最初のライトアドレスである。水平縮小率は、画像の水平方向の縮小率であり、０より大きく１以下の小数値である。垂直縮小率は、画像の垂直方向の縮小率であり、０より大きく１以下の小数値である。
【０１２１】
第１の画像サイズ縮小回路２６０は、間引き回路３６０、ライトアドレスカウンタ３７０を含む。間引き回路３６０は、水平縮小率に応じて水平方向に並ぶ画素を間引くことで、水平方向にサイズを縮小した画像の画像データを生成する。また間引き回路３６０は、垂直縮小率に応じて垂直方向に並ぶ画素を間引くことで、垂直方向にサイズを縮小した画像の画像データを生成する。ライトアドレスカウンタ３７０は、間引き回路３６０からのアドレスリセットでライト開始アドレスを出力し、間引き回路３６０からのライトリクエストがＨレベルの期間内の所定のタイミングで、ホストからのライト開始アドレスから順に１アドレスを加算していく。
【０１２２】
間引き回路３６０は、水平方向間引き回路３６２、垂直方向間引き回路３６４、アドレスリセット生成回路３６６、タイミング調整回路３６８を含む。間引き回路３６０には、水平縮小率及び垂直縮小率の他に、ドットクロック、垂直同期信号、水平同期信号及びＦＩＦＯ３００からの画像データが入力される。
【０１２３】
図１４に、ドットクロック、垂直同期信号、水平同期信号及び画像データのタイミング関係の一例を示す。
【０１２４】
ドットクロック、垂直同期信号及び水平同期信号等のＬＣＤ制御信号は、例えばＬＣＤ制御信号生成回路３０８によって生成される。垂直同期信号は、１垂直走査期間を規定する信号であり、垂直同期信号がＨレベルの期間が１垂直走査期間となる。水平同期信号は、１水平走査期間を規定する信号であり、水平同期信号がＨレベルの期間が１水平走査期間となる。１水平走査期間には、ドットクロックに同期して各画素の画像データが間引き回路３６０に順次入力されるようになっている。
【０１２５】
図１３において、水平方向間引き回路３６２は、水平同期信号により規定される１水平走査期間内に、水平縮小率に対応した期間だけＨレベルとなる水平方向ライトリクエストWRqhを生成する。また垂直方向間引き回路３６４は、垂直同期信号により規定される１垂直走査期間内に、垂直縮小率に対応した期間だけＨレベルとなる垂直方向ライトリクエストWRqvを生成する。ライトアドレスカウンタ３７０へのライトリクエストは、水平方向ライトリクエストWRqhと垂直方向ライトリクエストWRqvとの論理積演算により生成される。
【０１２６】
アドレスリセット生成回路３６６は、立ち上がりエッジ検出回路により構成される。アドレスリセット生成回路３６６は、垂直同期信号の立ち上がりを検出し、アドレスリセットとして出力する。
【０１２７】
タイミング調整回路３６８は、データラッチにより構成される。タイミング調整回路３６８は、ドットクロックに同期して画像データをラッチしてライトデータとして出力する。
【０１２８】
図１５に、水平方向間引き回路３６２の構成例のブロック図を示す。
【０１２９】
水平方向間引き回路３６２の各部は、ドットクロックに同期して動作する。
【０１３０】
減算器ＳＵＢは、入力Ｙから水平縮小率Ｎｈを減算して小数値として求めた出力Ｚ１を出力する。減算器ＳＵＢは、水平同期信号の立ち上がり検出信号に同期して出力Ｚ１を０に初期化する。
【０１３１】
ラッチＬＡＴ１は、減算器ＳＵＢの出力Ｚ１をラッチする。ラッチＬＡＴ１の出力Ｚ２は、セレクタＳＥＬと加算器ＡＤＤに出力される。
【０１３２】
加算器ＡＤＤは、ラッチＬＡＴ１の出力Ｚ２に１を加算して小数値として求めた出力Ｘを出力する。加算器ＡＤＤの出力Ｘは、セレクタＳＥＬに出力される。
【０１３３】
比較器ＣＭＰは、減算器ＳＵＢの出力Ｚ１と水平縮小率Ｎｈとを比較する。より具体的には、比較器ＣＭＰは、水平縮小率Ｎｈが減算器ＳＵＢの出力Ｚ１より小さく、且つ減算器ＳＵＢの出力Ｚ１が０以上のとき、水平方向ライトリクエストWRqhをＨレベルとし、それ以外のとき、水平方向ライトリクエストWRqhをＬレベルとする。
【０１３４】
比較器ＣＭＰの出力は、ラッチＬＡＴ２にも供給される。このラッチＬＡＴ２の出力は、セレクタＳＥＬの切り替え制御信号となる。ラッチＬＡＴ２の出力が１（Ｈレベル）のときセレクタＳＥＬは加算器ＡＤＤの出力Ｘを出力し、ラッチＬＡＴ２の出力が０（Ｌレベル）のときセレクタＳＥＬはラッチＬＡＴ１の出力Ｚ２を出力する。
【０１３５】
図１６に、水平縮小率Ｎｈの説明図を示す。
【０１３６】
水平方向間引き回路３６２の精度を８ビットとしたとき、水平縮小率Ｎｈは、ＭＳＢを整数データ、残りを小数点以下のデータとして表すことができる。例えば水平縮小率Ｎｈを１とすると、「１０００００００」となる。
【０１３７】
以下では、水平縮小率Ｎｈを０．７８１として、図１５に示す水平方向間引き回路３６２の動作の一例を説明する。水平縮小率Ｎｈが０．７８１のとき、０．７８１＝１／２＋１／４＋１／３２と近似でき、８ビットのデータ「０１１００１００」と表すことができる。
【０１３８】
図１７に、図１５の水平方向間引き回路３６２の動作例のタイミング図を示す。
【０１３９】
時刻ｔ１において水平同期信号がＬレベルからＨレベルに変化すると、減算器ＳＵＢの出力Ｚ１が０に初期化される。このとき水平縮小率Ｎｈ（＝０．７８１）は減算器ＳＵＢの出力Ｚ１（＝０）より大きいため、比較器ＣＭＰの出力WRqhは１（Ｈレベル）となる。
【０１４０】
次のドットクロックの立ち下がり時刻ｔ２で、ラッチＬＡＴ２の出力が１（Ｈレベル）となる。このとき、ラッチＬＡＴ１は、減算器ＳＵＢの出力Ｚ１を取り込んで出力Ｚ２として出力している。加算器ＡＤＤの出力Ｘは１である。ラッチＬＡＴ２の出力が１であるため、セレクタＳＥＬの出力Ｙは、加算器ＡＤＤの出力Ｘ（＝１）となる。従って、減算器ＳＵＢの出力Ｚ１は、０．２１９（＝１−０．７８１）となる。このとき、水平縮小率Ｎｈ（＝０．７８１）は、出力Ｚ１より大きいため、比較器ＣＭＰの出力WRqhは１（Ｈレベル）のままである。
【０１４１】
同様にして、次のドットクロックの立ち下がり時刻ｔ３が経過したときも、加算器ＡＤＤの出力Ｘが１．２１９となり、減算器ＳＵＢの出力Ｚ１は、０．４３８（＝１．２１９−０．７８１）となる。このとき、水平縮小率Ｎｈ（＝０．７８１）は、出力Ｚ１より大きいため、比較器ＣＭＰの出力WRqhは１（Ｈレベル）のままである。
【０１４２】
また、次のドットクロックの立ち下がり時刻ｔ４が経過したときも、減算器ＳＵＢの出力Ｚ１は、０．６５７（＝１．４３８−０．７８１）となる。このとき、水平縮小率Ｎｈ（＝０．７８１）は、出力Ｚ１より大きいため、比較器ＣＭＰの出力WRqhは１（Ｈレベル）のままである。
【０１４３】
そして、次のドットクロックの立ち下がり時刻ｔ５が経過したとき、減算器ＳＵＢの出力Ｚ１は、０．８７６（＝１．６５７−０．７８１）となる。このとき、水平縮小率Ｎｈ（＝０．７８１）は、出力Ｚ１より小さくなるため、比較器ＣＭＰの出力WRqhは０（Ｌレベル）に変化する。
【０１４４】
そして、次のドットクロックの立ち下がり時刻ｔ６が経過したとき、ラッチＬＡＴ２の出力が０（Ｌレベル）となる。このとき、ラッチＬＡＴ１は、減算器ＳＵＢの出力Ｚ１を取り込んで出力Ｚ２として出力している。加算器ＡＤＤの出力Ｘは、１．８７６である。ラッチＬＡＴ２の出力が０であるため、セレクタＳＥＬの出力Ｙは、ラッチＬＡＴ１の出力Ｚ２（＝０．８７６）となる。従って、減算器ＳＵＢの出力Ｚ１は、０．０９５（＝０．８７６−０．７８１）となる。このとき、水平縮小率Ｎｈ（＝０．７８１）は、出力Ｚ１より大きいため、比較器ＣＭＰの出力WRqhは１（Ｈレベル）に再び変化する。
【０１４５】
同様にして、時刻ｔ７において比較器ＣＭＰの出力WRqhは０（Ｌレベル）に変化し、時刻ｔ８において比較器ＣＭＰの出力WRqhが１（Ｈレベル）に変化する。
【０１４６】
このように水平縮小率Ｎｈ（＝０．７８１）に対応した期間、比較器ＣＭＰの出力WRqhをＨレベルにすることができる。
【０１４７】
ここまで図１３の水平方向間引き回路３６２の構成及び動作について説明したが、図１３の垂直方向間引き回路３６４も同様である。垂直方向間引き回路３６４の各部が、水平同期信号を基準に動作し、減算器が垂直同期信号の立ち上がりで初期化され、垂直縮小率Ｎｖが入力される点が異なるのみで、垂直方向間引き回路３６４も同様に実現できるため、その説明を省略する。
【０１４８】
更に図５の第２の画像サイズ縮小回路２７０の構成及び動作は、上述の第１の画像サイズ縮小回路２６０と同様である。フレームメモリ２８０に書き込む点を表示用メモリ２９０に書き込む点に置き換えることで、第２の画像サイズ縮小回路２７０も同様に実現できるため、第２の画像サイズ縮小回路２７０の構成及び動作の説明を省略する。なおこの場合にも、第２の画像サイズ縮小回路２７０に、ライト開始アドレス、水平縮小率及び垂直縮小率により定められる第２の縮小率が入力される。これらの情報は、ホストによって設定される。ホストは、制御レジスタ３２０の第２の画像サイズ縮小制御レジスタ３５８に、これらの情報を第２の画像サイズ縮小回路用制御情報として設定する。
【０１４９】
次に、図５のＪＰＥＧ圧縮回路２４０について説明する。
【０１５０】
図１８に、図５のＪＰＥＧ圧縮回路２４０の構成例のブロック図を示す。
【０１５１】
このＪＰＥＧ圧縮回路２４０は、図１の画像データ圧縮部７０の機能を実現する。ＪＰＥＧ圧縮回路２４０は、離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）部２４２、量子化部２４４、エントロピー符号化部２４６、量子化テーブル２４８を含む。
【０１５２】
ＤＣＴ部２４２は、例えば８画素×８画素を１ブロックとするブロック単位にＤＣＴ処理を行う。これによって、直流成分と交流成分とに分けられ、交流成分については所定の周波数成分ごとに表される。
【０１５３】
量子化部２４４は、量子化テーブル２４８の係数を用いて、ＤＣＴ部２４２の出力に対して量子化処理を行って、低い周波数成分のデータを除去する。
【０１５４】
エントロピー符号化部２４６は、量子化部２４４によって量子化されたデータに対して、ハフマン符号により符号化を行う。エントロピー符号化部２４６の出力が、圧縮処理後の画像データとなる。
【０１５５】
以上説明した構成を有する表示コントローラ２００と該表示コントローラ２００を制御する図示しないホストの動作シーケンスについて説明する。
【０１５６】
このホストは、ＣＰＵ（Central Processing Unit）及びメモリを有し、以下に示すフローを実現するプログラムが該メモリに記憶される。そしてＣＰＵが、該メモリからプログラムを読み出して、以下の示す処理を実現するようになっている。
【０１５７】
図１９に、表示コントローラ２００とホストの動作シーケンスの一例を示す。
【０１５８】
まず、ホストは、表示パネルに表示させる画像の回転角度及び鏡像反転を行うか否かを、表示コントローラ２００の制御レジスタ３２０に設定する（ＳＥＱ１）。即ち、ホストは、第２の回転角度、ミラー機能イネーブル情報、該第２の回転角度及びミラー機能イネーブル情報に応じた表示用メモリ２９０のリード開始アドレスとオフセットアドレス、水平画素数、垂直画素数を、制御レジスタ３２０の表示アドレス制御レジスタ３５４に設定する。なお予め第２の回転角度及びミラー機能イネーブル情報の組み合わせのパターンが決まっている場合には、表示コントローラ２００が、ホストによって設定された第２の回転角度及びミラー機能イネーブル情報の組み合わせに応じてオフセットアドレスを求めるようにしてもよい。
【０１５９】
続いて、ホストは、表示パネルに表示させる画像の縮小率を、表示コントローラ２００の制御レジスタ３２０に設定する（ＳＥＱ２）。即ち、ホストは、水平縮小率及び垂直縮小率により定められる第２の縮小率を、制御レジスタ３２０の第２の画像サイズ縮小制御レジスタ３５８に設定する。
【０１６０】
そして、ホストは、圧縮処理を行う画像の回転角度及び鏡像反転を行うか否かを、表示コントローラ２００の制御レジスタ３２０に設定する（ＳＥＱ３）。即ち、ホストは、第１の回転角度、ミラー機能イネーブル情報、該第１の回転角度及びミラー機能イネーブル情報に応じたフレームメモリ２８０のリード開始アドレスとオフセットアドレス、水平画素数、垂直画素数を、制御レジスタ３２０の画像リードアドレス制御レジスタ３５２に設定する。なお予め第１の回転角度及びミラー機能イネーブル情報の組み合わせのパターンが決まっている場合には、表示コントローラ２００が、ホストによって設定された第１の回転角度及びミラー機能イネーブル情報の組み合わせに応じてオフセットアドレスを求めるようにしてもよい。
【０１６１】
続いて、ホストは、圧縮処理を行う画像の縮小率を、表示コントローラ２００の制御レジスタ３２０に設定する（ＳＥＱ４）。即ち、ホストは、水平縮小率及び垂直縮小率により決められる第１の縮小率を、制御レジスタ３２０の第１の画像サイズ縮小制御レジスタ３５６に設定する。
【０１６２】
そしてホストは、撮像部（カメラモジュール）からの画像データの入力開始トリガの有無を監視する（ＳＥＱ５）。この入力開始トリガとしては、このホスト及び表示コントローラ２００が組み込まれた電子機器としての携帯電話機が備える、撮像部の画像取り込み開始を指示するためのボタンの押下の検出信号とすることができる。ホストは、このような入力開始トリガを検出すると、表示コントローラ２００に対して画像データ取り込み開始指示を出力する。
【０１６３】
表示コントローラ２００は、制御レジスタ３２０に更に図示しない取り込み開始制御レジスタを有することができる。そしてＳＥＱ１〜ＳＥＱ４によって各種制御情報を制御レジスタ３２０に設定された表示コントローラ２００が、ホストが画像データ取り込み開始指示に基づいて該取り込み開始制御レジスタにアクセスすることで、カメラＩ／Ｆ回路２１０を介して画像データの取り込みを開始することができる（ＳＥＱ６）。
【０１６４】
表示コントローラ２００は、ＳＥＱ６以降は、独立して２系統で画像サイズの圧縮や回転処理等を行う。
【０１６５】
即ち、表示コントローラ２００では、カメラＩ／Ｆ回路２１０を介してＦＩＦＯ３００に蓄積された画像データを順次読み出して、第１の画像サイズ縮小回路２６０が第１の縮小率で画像サイズを縮小させる（ＳＥＱ１０）。そして、フレームメモリアクセス調停回路３２４の調停結果により、第１のカメラデータアドレス生成回路３０４からのアドレスにより指定されたフレームメモリ２８０の記憶領域に、縮小後の画像データを書き込む（ＳＥＱ１１）。
【０１６６】
ホストは、フレームメモリ２８０に例えば１フレーム分の画像データの書き込みが終了すると、ホストに対して書き込み終了の割り込み通知を行う。ホストは、この書き込み終了の割り込み通知を受けて、所定のタイミングで圧縮開始指示を行うことができる。ホストからこの圧縮開始指示があると、表示コントローラ２００では、ＪＰＥＧ圧縮回路２４０が、画像リードアドレス生成回路２２０からのアドレスにより指定されたフレームメモリ２８０の記憶領域から画像データを読み出す（ＳＥＱ１２）。上述のように、この画像データの読み出しの順序を変更することで画像の向きの回転処理及び鏡像反転処理を実現する。
【０１６７】
続いて、ＪＰＥＧ圧縮回路２４０が、ＪＰＥＧ規格に従った圧縮処理を行って（ＳＥＱ１３）、ＪＰＥＧ圧縮データメモリアクセス調停回路３２６の調停結果により、圧縮データアドレス生成回路３１０からのアドレスにより指定されたＪＰＥＧ圧縮データメモリ２５０の記憶領域に、圧縮処理後の画像データを書き込む（ＳＥＱ１４）。ＪＰＥＧ圧縮データメモリ２５０に格納された画像データは、ホストＩ／Ｆ回路２１４を介して外部の保存用メモリに転送されたり、送信データの一部として用いられたりする。
【０１６８】
一方、表示コントローラ２００では、カメラＩ／Ｆ回路２１０を介してＦＩＦＯ３００に蓄積された画像データを順次読み出して、第２の画像サイズ縮小回路２７０が第２の縮小率で画像サイズを縮小させる（ＳＥＱ２０）。そして、表示用メモリアクセス調停回路３２２の調停結果により、第２のカメラデータアドレス生成回路３０６からのアドレスにより指定された表示用メモリ２９０の記憶領域に、縮小後の画像データを書き込む（ＳＥＱ２１）。
【０１６９】
続いて表示コントローラ２００では、表示用メモリ２９０に格納された画像データが、ＬＣＤ表示アドレス生成回路２３０からのリードアドレスにより指定された記憶領域から画像データが読み出される（ＳＥＱ２２）。上述のように、この画像データの読み出しの順序を変更することで画像の向きの回転処理及び鏡像反転処理を実現する。
【０１７０】
このように表示用メモリ２９０から読み出された画像データは、ＦＩＦＯ３０２に順次格納され、ＬＣＤＩ／Ｆ回路２１２を介して表示パネルを駆動する表示ドライバに出力される（ＳＥＱ２３）。
【０１７１】
なお、これまで説明した表示コントローラは、カメラＩ／Ｆ回路を介して入力された画像データの画像サイズを縮小後に一旦メモリに格納してから加工処理を行っていたが、これに限定されるものではない。
【０１７２】
図２０に、本実施形態の変形例における表示コントローラの構成の概要のブロック図を示す。ここでは、図１と同一部分には同一符号を付し、適宜説明を省略する。
【０１７３】
本変形例における表示コントローラ３８０が図１の表示コントローラ１０と異なる点は、カメラＩ／Ｆ回路２０を介して入力された画像データの画像サイズを縮小して加工処理を行ってからメモリに格納するようにしている。
【０１７４】
即ち、カメラＩ／Ｆ回路２０に入力された画像データは、第１及び第２の画像サイズ縮小部９０、１００に供給される。第１の画像サイズ縮小部９０の出力は、第１の画像加工部５０に供給される。第２の画像サイズ縮小部１００の出力は、第２の画像加工部６０に供給される。第１の画像加工部５０の出力が圧縮用画像メモリ１１０に供給される。第２の画像加工部６０の出力が表示用画像メモリ１２０に供給される。
【０１７５】
本変形例における表示コントローラ３８０の動作は、本実施形態における表示コントローラ１０と同様であるため説明を省略する。本変形例の構成でも、本実施形態と同様の効果を得ることができる。
【０１７６】
図２１に、本実施形態又はその変形例における表示コントローラが適用される電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
【０１７７】
携帯電話機４００は、カメラモジュール４１０を含む。カメラモジュール４１０は、ＣＣＤカメラを含み、ＣＣＤカメラで撮像した画像のデータを表示コントローラ４０２に供給する。
【０１７８】
携帯電話機４００は、表示パネル４２０を含む。表示パネル４２０として、ＬＣＤパネルを採用できる。この場合、表示パネル４２０は、表示ドライバ４３０によって駆動される。表示パネル４２０は、複数の走査線、複数のデータ線、複数の画素を含む。表示ドライバ４３０は、複数の走査線の１又は複数本単位で走査線を選択する走査ドライバの機能を有すると共に、画像データに対応した電圧を複数のデータ線に供給するデータドライバの機能を有する。
【０１７９】
表示コントローラ４０２は、表示ドライバ４３０に接続され、表示ドライバ４３０に対して画像データを供給する。
【０１８０】
ホスト４４０は、表示コントローラ４０２に接続される。ホスト４４０は、表示コントローラ４０２を制御する。またホスト４４０は、アンテナ４６０を介して受信された画像データを、変復調部４５０で復調した後、表示コントローラ４０２に対して供給できる。表示コントローラ４０２は、この画像データに基づき、表示ドライバ４３０により表示パネル４２０に表示させる。
【０１８１】
ホスト４４０は、カメラモジュール４１０で生成された画像データを変復調部４５０で変調した後、アンテナ４６０を介して他の通信装置への送信を指示できる。
【０１８２】
ホスト４４０は、操作入力部４７０からの操作情報に基づいて画像データの送受信処理、圧縮処理、回転処理、鏡像反転処理、カメラモジュール４１０の撮像、表示パネルの表示処理を行う。
【０１８３】
この携帯電話機４００では、カメラモジュール４１０から取り込まれる画像データの画像の向きが固定される。しかしながら、表示パネル４２０に表示させる画像の向きと、アンテナ４６０を介して送信されるデータに含まれる画像データの画像の向きとが異なったとしても、表示パネル４２０に表示させる画像と同一フレームの画像の画像データを含む送信データを送信できる。
【０１８４】
なお、図２１では、表示パネル４２０としてＬＣＤパネルを例に説明したが、これに限定されるものではない。表示パネル４２０は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画像データを供給する表示コントローラに適用できる。
【０１８５】
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば各画像加工部は、回転処理や鏡像反転処理に限らず、他の画像処理を行う場合にも適用できる。また図１、図５、図６、図１３、図１５、図１８、図２０、図２１の各図において、すべてのブロックを含める必要はなく、その一部のブロックを省略する構成にしてもよい。
【０１８６】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【０１８７】
【図１】本実施形態における表示コントローラの構成の概要のブロック図。
【図２】本実施形態の比較例における表示コントローラの構成の概要のブロック図。
【図３】圧縮処理用の画像の向きと表示用の画像の向きとが異なる場合の説明図。
【図４】図４（Ａ）、（Ｂ）は比較例と本実施形態における処理の違いの説明図。
【図５】本実施形態における表示コントローラの詳細なハードウェア構成例のブロック図。
【図６】図５の制御レジスタの構成例のブロック図。
【図７】画像リードアドレス生成回路の構成の概要を示す図。
【図８】画像リードアドレス生成回路用制御情報の説明図。
【図９】図９（Ａ）〜（Ｄ）は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。
【図１０】図１０（Ａ）〜（Ｄ）は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。
【図１１】図７の画像リードアドレス生成回路の動作例の前半のフロー図。
【図１２】図７の画像リードアドレス生成回路の動作例の後半のフロー図。
【図１３】図５の第１の画像サイズ縮小回路の構成例のブロック図。
【図１４】ドットクロック、水平同期信号、垂直同期信号及び画像データのタイミング関係の一例を示す図。
【図１５】図１３の水平方向間引き回路の構成例のブロック図。
【図１６】図１５の水平縮小率の説明図。
【図１７】図１５の水平方向間引き回路の動作例のタイミング図。
【図１８】図５のＪＰＥＧ圧縮回路の構成例のブロック図。
【図１９】図５の表示コントローラとホストの動作シーケンスの一例を示す図。
【図２０】本実施形態の変形例における表示コントローラの構成の概要のブロック図。
【図２１】本実施形態又はその変形例における表示コントローラが適用される電子機器の構成例のブロック図。
【符号の説明】
【０１８８】
１０  表示コントローラ、２０  カメラＩ／Ｆ回路、３０  ＬＣＤＩ／Ｆ回路、
４０  ホストＩ／Ｆ回路、５０  第１の画像加工部、６０  第２の画像加工部、
７０  画像データ圧縮部、８０  圧縮データ用メモリ、９０  第１の画像サイズ縮小部、１００  第２の画像サイズ縮小部、１１０  圧縮用画像メモリ、
１２０  表示用画像メモリ
【図１】
0004710875.tif 000002
【図２】
0004710875.tif 000003
【図３】
0004710875.tif 000004
【図４】
0004710875.tif 000005
【図５】
0004710875.tif 000006
【図６】
0004710875.tif 000007
【図７】
0004710875.tif 000008
【図８】
0004710875.tif 000009
【図９】
0004710875.tif 000010
【図１０】
0004710875.tif 000011
【図１１】
0004710875.tif 000012
【図１２】
0004710875.tif 000013
【図１３】
0004710875.tif 000014
【図１４】
0004710875.tif 000015
【図１５】
0004710875.tif 000016
【図１６】
0004710875.tif 000017
【図１７】
0004710875.tif 000018
【図１８】
0004710875.tif 000019
【図１９】
0004710875.tif 000020
【図２０】
0004710875.tif 000021
【図２１】
0004710875.tif 000022