(57)【要約】【課題】  画像データを欠落なく供給して画質の劣化を防止できる表示コントローラ、電子機器及び画像データ供給方法を提供する。【解決手段】  表示コントローラ２０は、少なくとも３フレーム分の画像データを記憶するメモリ２２と、書き込み開始アドレスが設定される書き込み開始アドレスレジスタ２６と、読み出し開始アドレスが設定される読み出し開始アドレスレジスタ３０と、メモリ２２から画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部４０とを含む。書き込み開始アドレスにより指定される領域への画像データの書き込みが完了したとき、書き込み開始アドレスを更新すると共に、更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ３０に設定する。読み出し開始アドレスにより指定されるメモリ２２の領域から回転制御部４０によって読み出された回転後の画像データを、表示ドライバに供給する。【選択図】      図２
2006020193.tif 000002
【特許請求の範囲】
【請求項１】
表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、
少なくとも３フレーム分の画像データを記憶するメモリと、
画像データを前記メモリに書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタと、
前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタと、
前記メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部とを含み、
前記書き込み開始アドレスにより指定される領域への画像データの書き込みが完了したとき、前記書き込み開始アドレスレジスタに設定された前記書き込み開始アドレスを次のフレームの画像データを書き込むための書き込み開始アドレスに更新すると共に、前記読み出し開始アドレスとして更新前の前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定し、
前記読み出し開始アドレスにより指定される前記メモリの領域から前記回転制御部によって読み出された回転後の画像データを、前記表示ドライバに供給することを特徴とする表示コントローラ。
【請求項２】
請求項１において、
前記読み出し開始アドレスにより指定される前記メモリの領域から１フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しないことを特徴とする表示コントローラ。
【請求項３】
請求項１又は２において、
１フレームの走査期間を規定する垂直同期信号を発生する同期信号発生回路を含み、
前記垂直同期信号に同期して前記画像データを前記表示ドライバに供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することを特徴とする表示コントローラ。
【請求項４】
請求項３において、
前記画像データの書き込みが完了した後、前記垂直同期信号が少なくとも２回アクティブになったことを条件に、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することを特徴とする表示コントローラ。
【請求項５】
請求項３又は４において、
前記メモリに１フレームの画像データを書き込む速度が、
前記回転後の画像データを前記メモリから読み出す速度より遅いことを特徴とする表示コントローラ。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記書き込み開始アドレスレジスタには、前記メモリの各フレームの書き込み領域毎に書き込み開始アドレスが設定され、前記画像データの書き込み時にいずれか１つが選択されることを特徴とする表示コントローラ。
【請求項７】
請求項１乃至６のいずれかにおいて、
ホストとの間のインタフェース処理を行うホストインタフェースを含み、
前記ホストに対して前記画像データの書き込みが完了したことを示す第１の割り込みを通知し、
前記第１の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
【請求項８】
請求項７において、
前記第１の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、更新後の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
【請求項９】
請求項７又は８において、
前記ホストに対して前記垂直同期信号がアクティブになったことを示す第２の割り込みを通知し、
前記第１及び第２の割り込みが通知されたことを条件に、前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記メモリから読み出された画像データを前記表示ドライバに供給するための表示ドライバインタフェースを含むことを特徴とする表示コントローラ。
【請求項１１】
表示パネルと、
請求項１乃至１０のいずれか記載の表示コントローラと、
前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含むことを特徴とする電子機器。
【請求項１２】
請求項１１において、
前記表示コントローラとの間で画像データの入出力を行うホストを含むことを特徴とする電子機器。
【請求項１３】
表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、
少なくとも３フレーム分の画像データを記憶するメモリの領域のうち、書き込み開始アドレスレジスタに設定された書き込み開始アドレスにより指定される領域に画像データを書き込み、
前記画像データの書き込みが完了したとき、前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタに、前記書き込み開始アドレスを設定し、
前記読み出し開始アドレスレジスタに設定された前記読み出し開始アドレスにより指定される前記メモリの領域から各画素の画像データを回転角度に対応した読み出し順序で読み出し、画像の向きを回転させた回転後の画像データとして前記表示ドライバに供給することを特徴とする画像データ供給方法。
【請求項１４】
請求項１３において、
前記読み出し開始アドレスにより指定される前記メモリの領域から１フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しないことを特徴とする画像データ供給方法。
【請求項１５】
請求項１３又は１４において、
１フレームの走査期間を規定する垂直同期信号に同期して前記表示ドライバに対して前記画像データを供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することを特徴とする画像データ供給方法。
【請求項１６】
請求項１５において、
前記画像データの書き込みが完了した後に、前記垂直同期信号が２回アクティブになったとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することを特徴とする画像データ供給方法。
【請求項１７】
請求項１５又は１６において、
前記メモリに１フレームの画像データを書き込む速度が、
前記回転後の画像データを前記メモリから読み出す速度より遅いことを特徴とする画像データ供給方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示コントローラ、電子機器及び画像データ供給方法に関する。
【背景技術】
【０００２】
近年、液晶表示（Liquid Crystal Display：ＬＣＤ）パネルに代表される表示パネルが、携帯電話機等の携帯機器（広義には、電子機器）に実装されることが多い。表示パネルは、画像データに基づいて表示ドライバにより駆動される。画像データは、例えばカメラモジュールにより取り込まれたものであったり、ホストによって生成又は加工されたものであったりする。表示ドライバは、このような画像データと表示用の同期信号とを受けて、表示パネルの駆動制御を行う。
【０００３】
表示コントローラは、この画像データ及び表示用の同期信号の供給をホストに代わって行い、該ホストの処理負荷を軽減させることができる。このような表示コントローラには、低消費電力化を目的として、ビデオメモリとして機能するメモリを内蔵するものがある。
【特許文献１】特開２００３−２２４８６２号公報
【特許文献２】特開平６−１０５２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで表示パネルが実装される携帯機器は、カメラモジュールを内蔵し、該カメラモジュールから取り込んだ画像を表示パネルに表示させることができるようになっている。この場合、カメラモジュールから取り込んだ画像を、一旦表示コントローラのメモリに格納し、表示ドライバに供給することになる。
【０００５】
しかしながら、カメラモジュールからの画像データの書き込み周期（書き込みレート）と、表示ドライバに供給するための画像データの読み出し周期（読み出しレート）とは必ずしも一致しない。そのため表示コントローラのメモリの記憶容量は１フレーム分の画像データを記憶できるだけでは、画像データの欠落なく表示ドライバに画像データを供給することができない。
【０００６】
また、カメラモジュールが取り込んだ画像データの画像の向きは、固定されていることが一般的である。そのため、カメラモジュールからの画像データの画像の向きを、表示コントローラ内で回転させて表示ドライバに供給する。ところが、表示パネルに表示させるために画像の向きを回転させる場合には、表示コントローラのメモリの記憶容量を２フレーム分だけ確保したとしても十分ではない。この場合、読み出し途中の１フレームの画像データの領域に、次のフレームの画像データが書き込まれてしまい、表示パネルに表示させた画像の画質を劣化させる。そのため、表示コントローラのメモリには、少なくとも３フレーム分を確保する必要が生ずる。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、画像データを欠落なく供給して画質の劣化を防止できる表示コントローラ、電子機器及び画像データ供給方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、少なくとも３フレーム分の画像データを記憶するメモリと、画像データを前記メモリに書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタと、前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタと、前記メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部とを含み、前記書き込み開始アドレスにより指定される領域への画像データの書き込みが完了したとき、前記書き込み開始アドレスレジスタに設定された前記書き込み開始アドレスを次のフレームの画像データを書き込むための書き込み開始アドレスに更新すると共に、前記読み出し開始アドレスとして更新前の前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定し、前記読み出し開始アドレスにより指定される前記メモリの領域から前記回転制御部によって読み出された回転後の画像データを、前記表示ドライバに供給する表示コントローラに関係する。
【０００９】
本発明においては、回転制御部が設けられ、メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う。そのため、メモリの書き込み領域用に１フレームと読み出し領域用に１フレームの計２フレームを確保していても、回転制御を行う場合には１フレーム分の画像データの読み出しが完了しない限り、当該読み出し領域の画像データを更新できない。従って、更にもう１フレーム分の記憶容量を確保する必要があり、少なくとも３フレーム分の画像データを記憶できるメモリを必要とする。
【００１０】
このような構成により、回転制御を行う場合であっても、書き込みが完了したメモリの領域から画像データを読み出すため、画像データの欠落を防止できる。
【００１１】
また本発明に係る表示コントローラでは、前記読み出し開始アドレスにより指定される前記メモリの領域から１フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しなくてもよい。
【００１２】
本発明によれば、回転制御部により読み出されるメモリの領域から１フレーム分の画像データの読み出しが完了するまで、読み出し開始アドレスを更新しないようにしたので、回転後の画像データが読み出される最中に、新たな読み出し領域から画像データが読み出されることを確実に防止できるようになる。
【００１３】
また本発明に係る表示コントローラでは、１フレームの走査期間を規定する垂直同期信号を発生する同期信号発生回路を含み、前記垂直同期信号に同期して前記画像データを前記表示ドライバに供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することができる。
【００１４】
本発明によれば、１フレームの画像データの読み出しが完了しないうちに、別の読み出し領域から画像データが読み出されて、１フレーム分の画像データに、異なる読み出し領域から読み出された画像データが混ざるという事態を確実に回避できる。
【００１５】
また本発明に係る表示コントローラでは、前記画像データの書き込みが完了した後、前記垂直同期信号が少なくとも２回アクティブになったことを条件に、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することができる。
【００１６】
本発明においては、読み出し開始アドレスレジスタの設定が完了するまでに時間がかかる場合が考えられる。例えば表示コントローラに２回以上のアクセスで読み出し開始アドレスの更新値の設定が完了する場合には、１回目のアクセスが完了した時点でバッファの内容を読み出し開始アドレスレジスタに設定してしまうと、不十分な更新値が読み出し開始アドレスとして参照されることになる。本発明によれば、十分なアクセス時間を確保し、書き込みが完了したメモリの領域から確実に画像データを読み出すことができるようになる。
【００１７】
また本発明に係る表示コントローラでは、前記メモリに１フレームの画像データを書き込む速度が、前記回転後の画像データを前記メモリから読み出す速度より遅くてもよい。
【００１８】
本発明によれば、１フレームの画像データの読み出しが完了しないうちに、当該読み出し領域が書き込み領域となって、１フレーム分の画像データに、新たに書き込まれた画像データが混ざるという事態を確実に回避できるようになる。
【００１９】
また本発明に係る表示コントローラでは、前記書き込み開始アドレスレジスタには、前記メモリの各フレームの書き込み領域毎に書き込み開始アドレスが設定され、前記画像データの書き込み時にいずれか１つが選択されてもよい。
【００２０】
本発明によれば、書き込み開始アドレスを更新する度に、書き込み領域設定レジスタにアクセスして書き込み開始アドレスを設定する必要がなく、不要なアクセスを行うことなく迅速に書き込み開始アドレスを更新できる。
【００２１】
また本発明に係る表示コントローラでは、ホストとの間のインタフェース処理を行うホストインタフェースを含み、前記ホストに対して前記画像データの書き込みが完了したことを示す第１の割り込みを通知し、前記第１の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されてもよい。
【００２２】
また本発明に係る表示コントローラでは、前記第１の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、更新後の書き込み開始アドレスが供給されてもよい。
【００２３】
また本発明に係る表示コントローラでは、前記ホストに対して前記垂直同期信号がアクティブになったことを示す第２の割り込みを通知し、前記第１及び第２の割り込みが通知されたことを条件に、前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されてもよい。
【００２４】
また本発明に係る表示コントローラでは、前記メモリから読み出された画像データを前記表示ドライバに供給するための表示ドライバインタフェースを含むことができる。
【００２５】
また本発明は、表示パネルと、上記のいずれか記載の表示コントローラと、前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含む電子機器に関係する。
【００２６】
また本発明に係る電子機器では、前記表示コントローラとの間で画像データの入出力を行うホストを含むことができる。
【００２７】
本発明によれば、画像データを欠落なく供給して画質の劣化を防止できる電子機器を提供できる。
【００２８】
また本発明は、表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、少なくとも３フレーム分の画像データを記憶するメモリの領域のうち、書き込み開始アドレスレジスタに設定された書き込み開始アドレスにより指定される領域に画像データを書き込み、前記画像データの書き込みが完了したとき、前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタに、前記書き込み開始アドレスを設定し、前記読み出し開始アドレスレジスタに設定された前記読み出し開始アドレスにより指定される前記メモリの領域から各画素の画像データを回転角度に対応した読み出し順序で読み出し、画像の向きを回転させた回転後の画像データとして前記表示ドライバに供給する画像データ供給方法に関係する。
【００２９】
また本発明に係る画像データ供給方法では、前記読み出し開始アドレスにより指定される前記メモリの領域から１フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しなくてもよい。
【００３０】
また本発明に係る画像データ供給方法では、１フレームの走査期間を規定する垂直同期信号に同期して前記表示ドライバに対して前記画像データを供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することができる。
【００３１】
また本発明に係る画像データ供給方法では、前記画像データの書き込みが完了した後に、前記垂直同期信号が２回アクティブになったとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することができる。
【００３２】
また本発明に係る画像データ供給方法では、前記メモリに１フレームの画像データを書き込む速度が、前記回転後の画像データを前記メモリから読み出す速度より遅くてもよい。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【００３４】
図１に、本実施形態における表示コントローラが適用された表示システムの構成例を示す。例えば図１に示す表示システムが、電子機器に搭載される。
【００３５】
表示システム１００は、ホスト１０、画像取り込み部（狭義には撮像部）１２、表示コントローラ２０、表示ドライバ５０、表示パネル６０を含む。ホスト１０は、ＣＰＵ（Central Processing Unit）及びメモリを有し、メモリに記憶されたプログラムを読み込んだＣＰＵが該プログラムに対応した処理を実行することで所定の機能を実現する。ここでは、ホスト１０が、表示パネル６０に表示させる画像に対応した画像データを生成又は加工し、表示コントローラ２０に供給する。
【００３６】
画像取り込み部１２として、例えば撮像素子を有するカメラモジュールを採用できる。画像取り込み部１２で撮像により取り込まれた画像の画像データは、表示コントローラ２０に供給される。表示コントローラ２０は、ホスト１０からの画像データ、又は画像取り込み部１２によって取り込まれた画像データ、或いはこれらを加工処理した画像データを、表示パネル６０を駆動する表示ドライバ５０に供給することができる。
【００３７】
画像取り込み部１２からの画像データは、例えば１５フレーム毎秒（frame per second：ｆｐｓ）のレートで表示コントローラ２０に供給される。表示コントローラ２０は、例えば６０ｆｐｓのレートで画像データを表示ドライバ５０に供給する。
【００３８】
表示ドライバ５０は、表示コントローラ２０からの画像データに基づいて表示パネル６０を駆動することができる。表示パネル６０として、例えばアクティブマトリクス型或いは単純マトリクス型のＬＣＤパネルを採用できる。
【００３９】
このように表示コントローラ２０は、ホスト１０及び表示ドライバ５０の間に設けられ、表示コントローラ２０がホスト１０に代わって例えば画像データの加工処理を行うことで、ホスト１０の処理負荷を軽減できる。
【００４０】
２．  表示コントローラ
図２に、本実施形態における表示コントローラ２０の構成例のブロック図を示す。
【００４１】
表示コントローラ２０は、ビデオメモリとして機能するメモリ２２を含む。このメモリ２２は、少なくとも３フレーム分の画像データを記憶する。メモリ２２には、図示しない画像取り込み部としてのカメラモジュールからの画像データや、図示しないホストからの画像データが格納される。表示パネルの表示レートに合わせてメモリ２２から画像データが読み出され、図示しない表示ドライバに供給される。
【００４２】
表示コントローラ２０は、書き込み領域設定レジスタ２４、読み出し領域設定レジスタ２８を含む。
【００４３】
書き込み領域設定レジスタ２４には、メモリ２２に書き込まれる画像データの書き込み領域を設定するための情報が設定される。書き込み領域設定レジスタ２４は、メモリ２２に画像データを書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタ２６を含む。書き込み領域設定レジスタ２４には、書き込み開始アドレスの他に書き込み領域のサイズが設定される。
【００４４】
読み出し領域設定レジスタ２８には、メモリ２２から読み出される画像データの読み出し領域を設定するための情報が設定される。読み出し領域設定レジスタ２８は、メモリ２２から画像データを読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタ３０を含む。読み出し領域設定レジスタ２８には、読み出し開始アドレスの他に読み出し領域のサイズが設定される。
【００４５】
表示コントローラ２０は、書き込み制御回路３２、読み出し制御回路３４、メモリアドレス制御部３６を含む。書き込み制御回路３２は、書き込み領域設定レジスタ２４の設定情報に基づいて、メモリ２２に画像データを書き込む制御を行う。読み出し制御回路３４は、読み出し領域設定レジスタ２８の設定情報に基づいて、メモリ２２から画像データを読み出す制御を行う。メモリアドレス制御部３６が、書き込み領域設定レジスタ２４（書き込み開始アドレスレジスタ２６）の設定値及び読み出し領域設定レジスタ２８（読み出し開始アドレスレジスタ３０）の設定値を更新する制御を行う。
【００４６】
図２では、書き込み制御回路３２がカメラモジュールからの画像データをメモリ２２に書き込むが、ホストからの画像データもまた、書き込み領域設定レジスタ２４及び書き込み制御回路３２と同様の構成の回路によってメモリ２２に書き込まれる。また図２では、読み出し制御回路３４がメモリ２２から画像データを読み出して表示ドライバに供給するが、ホストに供給する画像データもまた、読み出し領域設定レジスタ２８及び読み出し制御回路３４と同様の構成の回路によってメモリ２２から読み出される。
【００４７】
更に表示コントローラ２０は、回転制御部４０を含む。この回転制御部４０は、メモリ２２に格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う。この回転制御部４０が読み出し制御回路３４を制御して、回転後の画像データを読み出す。
【００４８】
そして表示コントローラ２０では、読み出し開始アドレスレジスタ３０に設定された読み出し開始アドレスにより指定されるメモリ２２の読み出し領域から画像データが所定の表示レートで読み出される。このとき回転制御部４０によって読み出された回転後の画像データが、表示ドライバに供給される。
【００４９】
この際、読み出し開始アドレスレジスタ３０により指定されるメモリ２２の領域から１フレーム分の画像データの読み出しが完了するまで、読み出し開始アドレスレジスタ３０の設定値を更新せずに回転後の画像データを表示ドライバ５０に供給することが望ましい。
【００５０】
本実施形態では、書き込み制御回路３２が書き込み開始アドレスにより指定される領域への画像データの書き込みを完了したとき、メモリアドレス制御部３６が書き込み開始アドレスレジスタ２６に設定された書き込み開始アドレスを、次のフレームの画像データを書き込むための書き込み開始アドレスに更新する。更にメモリアドレス制御部３６が、読み出し開始アドレスとして、上記の更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ３０に設定する。
【００５１】
表示コントローラ２０には、図示しないカメラモジュールから１５フレーム毎秒のレートでＹＵＶフォーマットの画像データが入力される。そのため表示コントローラ２０は、カメラインタフェース（InterFace：Ｉ／Ｆ）回路（広義には画像データ入力インタフェース）４２、ＹＵＶ−ＲＧＢコンバータ４４を含むことができる。
【００５２】
カメラＩ／Ｆ回路４２には、カメラモジュールからのＹＵＶフォーマットの画像データが入力される。カメラＩ／Ｆ回路４２は、該画像データのインタフェース処理（カメラモジュールとの間の受信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データをＹＵＶ−ＲＧＢコンバータ４４に出力する。
【００５３】
ＹＵＶ−ＲＧＢコンバータ４４は、ＹＵＶフォーマットの画像データをＲＧＢフォーマットの画像データに変換する。より具体的にはＹＵＶ4:4:4フォーマット、ＹＵＶ4:2:2フォーマット、ＹＵＶ4:2:0フォーマット、ＹＵＶ4:1:1フォーマットのいずれかの画像データを、ＲＧＢ8:8:8フォーマット、ＲＧＢ5:6:5フォーマット、ＲＧＢ3:3:2フォーマットのいずれかの画像データに変換する。ＹＵＶ−ＲＧＢコンバータ４４によってＲＧＢフォーマットに変換された画像データは、書き込み制御回路３２により、書き込み領域設定レジスタ２４により設定されたメモリ２２の書き込み領域に書き込まれる。
【００５４】
そしてメモリ２２に書き込まれた画像データを表示ドライバ５０に供給するため、表示コントローラ２０は、ＬＣＤＩ／Ｆ回路（広義には表示ドライバインタフェース）４６を含むことができる。
【００５５】
ＬＣＤＩ／Ｆ回路４６は、読み出し制御回路３４によってメモリ２２から読み出された画像データを表示ドライバ５０に出力する。ＬＣＤＩ／Ｆ回路４６は、画像データのインタフェース処理（表示ドライバとの間の送信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データを表示ドライバ５０に出力する。ＬＣＤＩ／Ｆ回路４６は、同期信号発生回路４８を含み、表示パネル６０を駆動するための表示用の同期信号（１フレームの走査期間である１垂直走査期間を規定する垂直同期信号VSYNC、１水平走査期間を規定する水平同期信号HSYNC、ドットクロックDCLK等）を生成し、該同期信号を表示ドライバ５０に供給することができる。このときＬＣＤＩ／Ｆ回路４６は、各フレームの画像データを垂直同期信号に同期させ、且つ各画素の画像データをドットクロックDCLKに同期させて出力する。
【００５６】
この場合、書き込み領域への１フレーム分の画像データの書き込みが完了したとき、同期信号発生回路４８によって生成された垂直同期信号VSYNCに同期して、読み出し開始アドレスとして、更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ３０に設定する。
【００５７】
こうすることで、１フレームの画像データの読み出しが完了しないうちに、別の読み出し領域から画像データが読み出されて、１フレーム分の画像データに、異なる読み出し領域から読み出された画像データが混ざるという事態を確実に回避できる。
【００５８】
なお図２では、ＬＣＤＩ／Ｆ回路４６が同期信号発生回路４８を含む構成となっているが、同期信号発生回路４８がＬＣＤＩ／Ｆ回路４６の外部に設けられる構成であってもよい。
【００５９】
更に、メモリ２２に１フレームの画像データを書き込む速度が、回転制御部４０によって回転後の画像データをメモリ２２から読み出す速度より遅いことが望ましい。
【００６０】
こうすることで、１フレームの画像データの読み出しが完了しないうちに、当該読み出し領域が書き込み領域となって、１フレーム分の画像データに、新たに書き込まれた画像データが混ざるという事態を確実に回避できるようになる。
【００６１】
更にまた、画像データの書き込みが完了した後、垂直同期信号VSYNCが少なくとも２回アクティブになったことを条件に、読み出し開始アドレスとして、更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ３０に設定するようにしてもよい。メモリアドレス制御部３６やホスト１０等の外部装置によって読み出し開始アドレスが更新される場合に、読み出し開始アドレスレジスタ３０の設定が完了するまでに時間がかかる場合が考えられる。例えば表示コントローラ２０の図示しないバッファへの２回以上のアクセスで読み出し開始アドレスの更新値の設定が完了する場合には、１回目のアクセスが完了した時点でバッファの内容を読み出し開始アドレスレジスタ３０に設定してしまうと、不十分な更新値が読み出し開始アドレスとして参照されることになる。従って、垂直同期信号VSYNCが少なくとも２回アクティブになったことを条件に読み出し開始アドレスを更新することで、十分なアクセス時間を確保し、書き込みが完了したメモリ２２の領域から確実に画像データを読み出すことができるようになる。
【００６２】
このような表示コントローラ２０に対し、ホスト１０は、メモリ２２に画像データを書き込むことができ、メモリ２２から画像データを読み出すことができる。そのため表示コントローラ２０は、ホストＩ／Ｆ回路（広義には、ホストインタフェース）４９を含む。ホストＩ／Ｆ回路４９を介してホスト１０から入力された画像データが、図示しない書き込み制御回路によってメモリ２２に書き込まれる。
【００６３】
またホストＩ／Ｆ回路４９には、ホスト１０からの画像データが入力される。このとき、ホストＩ／Ｆ回路４９は、インタフェース処理（ホストとの間の受信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データをメモリ２２に供給する。また、図示しない読み出し制御回路によってメモリ２２から読み出された画像データを、ホストＩ／Ｆ回路４９を介してホスト１０に供給できるようになっている。この場合、ホストＩ／Ｆ回路４９は、インタフェース処理（ホストとの間の送信処理や、信号のバッファリング）を行い、インタフェース処理後の画像データをホスト１０に出力する。
【００６４】
本実施形態によれば、表示パネル６０に表示させるために、回転制御部４０の回転制御により画像データの画像の向きを回転させた画像データを読み出す場合であっても、当該読み出し領域に新たな画像データが書き込まれることがなくなる。そのため、画像データを欠落なく供給できるようになる。以下では、この点について説明する。
【００６５】
図３に、画像データの一例を示す。
【００６６】
図４に、図３の画像データをメモリ２２に格納した例の説明図を示す。
【００６７】
図３では説明を簡略化するために、水平方向に４画素、垂直方向に４画素が並ぶ画像の画像データを示している。そして、メモリ２２には、画像の水平方向に並ぶ画素の画素値が該画像の垂直方向の順番で格納されているものとする。
【００６８】
即ち、メモリ２２には、水平方向に並ぶ画素の画素値Ｐ１０、Ｐ１１、Ｐ１２、Ｐ１３、・・・、Ｐ４０、Ｐ４１、Ｐ４２、Ｐ４３の順序でインクリメントされるアドレスにより指定される記憶領域に各画素値が格納される。従って図４に示すように、メモリ２２のアドレスＡＤに画素値Ｐ１０（ＲＧＢの各成分データをＲ１０、Ｇ１０、Ｂ１０）、アドレス（ＡＤ＋１）に画素値Ｐ１１（ＲＧＢの各成分データをＲ１１、Ｇ１１、Ｂ１１）、・・・、アドレス（ＡＤ＋８）に画素値Ｐ３０（ＲＧＢの各成分データをＲ３０、Ｇ３０、Ｂ３０）、・・・が格納されている。
【００６９】
ここで、画像データの画像の向きを回転させることなく、メモリ２２に格納された順序で画像データを読み出す場合には、画素値Ｐ１０、Ｐ１１、Ｐ１２、Ｐ１３、・・・、Ｐ４０、Ｐ４１、Ｐ４２、Ｐ４３の順序で読み出せばよい。この場合、メモリ２２からアドレスＡＤ、（ＡＤ＋１）、（ＡＤ＋２）、・・・の順序で画素値を読み出すことになる。
【００７０】
一方、例えば画像データの画像の向きを左回りに９０度回転させる場合には、図３の矢印９０の順番である画素値Ｐ１３、Ｐ２３、Ｐ３３、Ｐ４３、Ｐ１２、Ｐ２２、Ｐ３２、Ｐ４２、Ｐ１１、・・・、Ｐ１０、Ｐ２０、Ｐ３０、Ｐ４０の順序で読み出せばよい。これは、表示パネル６０の水平方向の走査方向に合わせて各画素値を並び換える必要があるからである。この場合、メモリ２２からアドレス（ＡＤ＋３）、（ＡＤ＋７）、・・・の順序で画素値を読み出すことになる。図３及び図４では、画像データの画像の向きを左回りに９０度回転させる場合について説明したが、左回り又は右回りに、９０度、１８０度又は２７０度回転させる場合も同様に、メモリ２２に格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像データの画像の向きを回転させることができる。
【００７１】
ところが、メモリ２２に格納された順序で画像データを読み出す場合と異なり、回転角度に対応した読み出し順序で読み出される１フレーム分の画像データの読み出しが完了しない間は、当該フレームの画像データを書き換えることができない。例えば、画素値Ｐ１３、Ｐ２３、・・・の順に読み出したとしても、画素値Ｐ１０、Ｐ１１、Ｐ１２、Ｐ２０、Ｐ２１、Ｐ２２の読み出しが完了していないからである。従って、メモリ２２の書き込み領域用に１フレームと読み出し領域用に１フレームの計２フレームを確保していても、回転制御を行う場合には１フレーム分の画像データの読み出しが完了しない限り、当該読み出し領域の画像データを更新できない。従って、更にもう１フレーム分の記憶容量を確保する必要がある。
【００７２】
このように本実施形態では、メモリ２２に少なくとも３フレーム分の画像データを記憶させるようにしたので、回転制御を行う場合であっても画像データの欠落を防止できる。
【００７３】
なお、書き込み開始アドレスレジスタ２６には、メモリ２２の各フレームの書き込み領域毎に書き込み開始アドレスが設定されるようにしてもよい。
【００７４】
図５に、書き込み領域毎に設けられた書き込み開始アドレスの説明図を示す。
【００７５】
図５には、メモリ２２の領域に、３フレーム分の書き込み領域Ａ、Ｂ、Ｃが確保された場合を示している。従って書き込み開始アドレスレジスタ２６には、第１〜第３の書き込み開始アドレスが設定される。第１の書き込み開始アドレスには、書き込み領域Ａの先頭アドレスが設定される。第２の書き込み開始アドレスには、書き込み領域Ｂの先頭アドレスが設定される。第３の書き込み開始アドレスには、書き込み領域Ｃの先頭アドレスが設定される。そして、画像データの書き込み時に、第１〜第３の書き込み開始アドレスの中からいずれか１つが選択される。
【００７６】
こうすることで、書き込み開始アドレスを更新する度に、書き込み領域設定レジスタ４２にアクセスして書き込み開始アドレスを設定する必要がない。従って、書き込み開始アドレスを更新する場合には、予め設定した複数の書き込み開始アドレスの中からいずれか１つを選択するだけでよい。このため、処理負荷をかけることなく、迅速に書き込み開始アドレスを変更できる。例えば、カメラモジュールからの画像データにブランク期間がほとんどなく、外部からのアクセスに十分な時間がとれない場合でも、書き込み開始アドレスを確実に変更できる。
【００７７】
なお図５では、書き込み開始アドレスを書き込み領域毎に設定するようにしたが、読み出し開始アドレスを読み出し領域毎に設定しておき、読み出し時にいずれかの読み出し開始アドレスを用いるようにすることも可能である。
【００７８】
図６に、本実施形態における表示コントローラ２０の動作例のタイミング図を示す。
【００７９】
ここでは、カメラモジュールから１５ｆｐｓのレートで画像データがメモリ２２に書き込まれ、メモリ２２から６０ｆｐｓのレートで画像デーが読み出されるものとする。
【００８０】
書き込み制御回路３２は、メモリ２２の書き込み領域への１フレーム分の書き込みが完了したことを示す書き込み完了信号のパルスを、６６．６（＝１０００／１６）ミリ秒ごとに発生させる。書き込み完了信号は、メモリアドレス制御部３６に入力される。
【００８１】
また同期信号発生回路４８は、表示用の垂直同期信号VSYNCがアクティブになったことを示すVSYNC発生信号のパルスを、１６．６（＝１０００／６０）ミリ秒ごとに発生させる。VSYNC発生信号もまた、メモリアドレス制御部３６に入力される。
【００８２】
図５に示すようにメモリ２２の書き込み領域Ａ、Ｂ、Ｃの各領域が設定されている。書き込み領域Ｃに１フレーム分の画像データの書き込みが完了すると、書き込み完了信号のパルスＥ１が発生する。書き込み完了信号のパルスＥ１により、メモリアドレス制御部３６が、書き込み領域を領域Ａに変更する（Ｅ２）。より具体的には、メモリアドレス制御部３６は、次の書き込み領域として予め設定された領域Ａの先頭アドレスを、書き込み開始アドレスレジスタ２６に設定する。
【００８３】
書き込み完了信号のパルスＥ１が発生した直後のVSYNC発生信号のパルスＥ３により、図示しないバッファ等に次の読み出し領域として、書き込みが完了した書き込み領域Ｃが用意される。そして、VSYNC発生信号のパルスＥ３の次のVSYNC発生信号のパルスＥ４により、メモリアドレス制御部３６は、読み出し領域を領域Ｃに変更する（Ｅ５）。即ち、用意された書き込み領域Ｃの書き込み開始アドレスを、次の読み出し開始アドレスとして読み出し開始アドレスレジスタ３０に設定する。
【００８４】
なお次の読み出し領域を迅速に用意できる場合には、書き込み完了信号のパルスＥ１が発生した直後のVSYNC発生信号のパルスＥ３により、書き込み領域Ｃの書き込み開始アドレスを、次の読み出し開始アドレスとして読み出し開始アドレスレジスタ３０に設定するようにしてもよい。
【００８５】
読み出し開始アドレスレジスタ３０を更新した後は、読み出し開始アドレスにより指定される読み出し領域Ｃから１フレーム分の画像データの読み出しが完了するまでの間、繰り返し読み出し領域Ｃからの画像データが表示ドライバ５０に対して出力される。なお図６では、メモリ２２に１フレームの画像データを書き込む速度が、回転後の画像データをメモリ２２から読み出す速度より遅いため、次の書き込み完了信号のパルスＥ１０が発生するまで、読み出し領域の更新が行われない。
【００８６】
以上のようにして、書き込み領域が完了した領域を、読み出し領域として更新していく。
【００８７】
以下では、表示コントローラ２０の構成要部の構成例について説明する。
【００８８】
図７に、図２の同期信号発生回路４８の構成例を示す。
【００８９】
同期信号発生回路４８は、垂直カウンタ１２０、水平カウンタ１２２、画素クロック発生回路１２４を含む。
【００９０】
垂直カウンタ１２０は、水平カウンタ１２２によって生成された水平同期信号HSYNCをカウントし、そのカウント値が垂直ライン数に一致するまでの間Ｈレベルとなる垂直同期信号VSYNCを出力する。水平カウンタ１２２は、画素クロック発生回路１２４によって生成されたドットクロック（画素クロック）DCLKをカウントし、そのカウント値が水平画素数に一致するまでの間Ｈレベルとなる水平同期信号HSYNCを出力する。画素クロック発生回路１２４は、所与の基準クロックを分周したドットクロックDCLKを出力する。
【００９１】
表示コントローラ２０は、ホスト１０によってその設定値が設定可能な図示しない制御レジスタを有し、ホスト１０が該制御レジスタに対し図７の垂直ライン数及び水平画素数を設定できるようになっている。
【００９２】
また同期信号発生回路４８は、立ち上がり検出回路１２６を含む。立ち上がり検出回路１２６は、垂直カウンタ１２０の発生した垂直同期信号VSYNCの立ち上がり時にアクティブとなるパルスを有するVSYNC発生信号を出力する。
【００９３】
図８に、ドットクロック、垂直同期信号、水平同期信号及び画像データのタイミング関係の一例を示す。
【００９４】
垂直同期信号は、１垂直走査期間を規定する信号であり、垂直同期信号がＨレベルの期間が１垂直走査期間となる。水平同期信号は、１水平走査期間を規定する信号であり、水平同期信号がＨレベルの期間が１水平走査期間となる。１水平走査期間には、ドットクロックDCLKに同期して各画素の画像データが、表示ドライバ５０に出力される。
【００９５】
次に、本実施形態の回転制御について説明する。
【００９６】
図９に、図２の回転制御部４０が行う回転制御の説明図を示す。
【００９７】
以下では、回転制御部４０が、回転角度として０度、９０度、１８０度、２７０度のみが指定できるものとし、各回転角度について更に鏡像反転を行うか否かを指定できるものとする。回転制御部４０は、画像データの画像の向きを所定の基準点を基準に回転角度に応じて回転させた画像データの読み出し制御を行うことができる。また回転制御部４０は、画像データの画像の水平方向の画素の並び方向が処理前の画像の水平方向の画素の並び方向と反対となるように鏡像反転処理された画像データの読み出し制御を行うことができる。
【００９８】
メモリ２２には、各画素の画像データが、画像先頭アドレスから画像最終アドレスまでの記憶領域に格納されている。この画像データの画像の水平方向の画素数が水平画素数である。また該画像の垂直方向のライン数が、垂直ライン数である。水平方向の各画素の画像データは、水平方向の各ラインの先頭アドレスを基準に更新されるアドレスにより指定されるメモリ２２の記憶領域に格納される。
【００９９】
水平方向の１つのラインの最終アドレスと次のラインの先頭アドレスは連続していなくてもよく、あるラインの先頭アドレスとその次のラインの先頭アドレスのアドレス間隔をオフセットアドレスと定義する。なお、あるラインの最終アドレスとその次のラインの先頭アドレスが連続している場合、オフセットアドレスが０となる。
【０１００】
表示コントローラ２０の図示しない制御レジスタには、鏡像反転処理を行うか否かを指定するための情報としてミラー機能イネーブル情報が設定される。またこの制御レジスタには、回転角度を設定するための情報として回転角度情報が設定される。
【０１０１】
ホスト１０は、更に回転角度、ミラー機能イネーブル情報に応じて、制御レジスタにメモリ２２のリード開始アドレス及びオフセットアドレスを指定する。
【０１０２】
図１０（Ａ）〜（Ｄ）、図１１（Ａ）〜（Ｄ）は、回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図である。ここでは、回転後の画像のイメージを模式的に示している。
【０１０３】
図１０（Ａ）は、回転角度が０度、ミラー機能がディセーブル状態（オフ）に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、回転後の画像の向きは処理前と同じであるため、左上のアドレスをリード開始アドレスＳＡとし、更新方向ＤＩＲ１にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスＯＡ１を用いて求める。このように読み出された１ライン分の画素を、回転後の画像の水平方向の１ライン分の画素とする。
【０１０４】
図１０（Ｂ）は、回転角度が９０度、ミラー機能がイネーブル状態（オン）に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、左上のアドレスをリード開始アドレスＳＡとして、更新方向ＤＩＲ２にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスＯＡ２を用いて求める。このように読み出された１ライン分の画素を、回転後の画像の水平方向の１ライン分の画素とする。
【０１０５】
図１０（Ｃ）は、回転角度が９０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１０６】
図１０（Ｄ）は、回転角度が０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１０７】
図１１（Ａ）は、回転角度が２７０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１０８】
図１１（Ｂ）は、回転角度が１８０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１０９】
図１１（Ｃ）は、回転角度が１８０度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１１０】
図１１（Ｄ）は、回転角度が２７０度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
【０１１１】
図１０（Ｃ）、（Ｄ）、図１１（Ａ）〜（Ｄ）についても、図１０（Ａ）、（Ｂ）で説明したようにして同様にリードアドレスを求め、該リードアドレスを用いて読み出された１ライン分の画素を、回転後の画像の水平方向の１ライン分の画素とする。
【０１１２】
図１２及び図１３に、図２の回転制御部４０の動作フローを示す。ここでは、説明の便宜上、１アドレスで指定される記憶領域に１画素の画像データが格納されるものとする。
【０１１３】
また、以下では、回転角度及びミラー機能イネーブル情報の状態について、回転角度のみを示し、ミラー機能がイネーブル状態の場合のみ回転角度の後に「（ミラー）」と簡略化して示す。例えば、「０度」は、回転角度が０度でミラー機能がディセーブル状態であることを示し、「１８０度（ミラー）」は、回転角度が１８０度でミラー機能がイネーブル状態であることを示す。
【０１１４】
まず図１０（Ａ）〜（Ｄ）、図１１（Ａ）〜（Ｄ）に示したように、回転角度及びミラー機能イネーブル情報に応じてホストによって設定されるリード開始アドレスをリードアドレスＲＤＡに設定し、変数ＬＳＡを０に初期化する（ステップＳ１０）。
【０１１５】
次にリードアドレスＲＤＡを用いてメモリ２２から画像データを読み出す（ステップＳ１１）。
【０１１６】
全ラインの読み出しが終了のとき（ステップＳ１２：Ｙ）、一連の処理を終了する（エンド）。
【０１１７】
ステップＳ１２において全ラインの読み出しが終了ではないとき（ステップＳ１２：Ｎ）、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたか否かを判別する（ステップＳ１３）。
【０１１８】
ステップＳ１３において、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されたとき（ステップＳ１３：Ｙ）、リードアドレスＲＤＡに１アドレスを加算してリードアドレスＲＤＡを更新する（ステップＳ１４）。
【０１１９】
ステップＳ１３において、「０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１３：Ｎ）、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたか否かを判別する（ステップＳ１５）。
【０１２０】
ステップＳ１３において、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたと判別されたとき（ステップＳ１５：Ｙ）、リードアドレスＲＤＡにオフセットアドレスＯＡを加算してリードアドレスＲＤＡを更新する（ステップＳ１６）。ここでオフセットアドレスＯＡは、図１０（Ａ）〜（Ｄ）、図１１（Ａ）〜（Ｄ）に示したように、回転角度及びミラー機能イネーブル情報に応じてホストによって設定される。
【０１２１】
ステップＳ１５において、「９０度」に設定され、或いは「９０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１５：Ｎ）、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたか否かを判別する（ステップＳ１７）。
【０１２２】
ステップＳ１７において、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されたとき（ステップＳ１７：Ｙ）、リードアドレスＲＤＡから１アドレスを減算してリードアドレスＲＤＡを更新する（ステップＳ１８）。
【０１２３】
ステップＳ１７において、「１８０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ１７：Ｎ）、「２７０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判断する。そして、リードアドレスＲＤＡからオフセットアドレスＯＡを減算してリードアドレスＲＤＡを更新する（ステップＳ１９）。
【０１２４】
ステップＳ１４、ステップＳ１６、ステップＳ１８及びステップＳ１９に続いて、１ラインの読み出しが終了したか否かを判別する（ステップＳ２０）。１ラインの読み出しが終了していないと判別されたとき（ステップＳ２０：Ｎ）、ステップＳ１１に戻って画像データの読み出しを続ける。
【０１２５】
ステップＳ２０において、１ラインの読み出しが終了したと判別されたとき（ステップＳ２０：Ｙ）、「０度」に設定され、或いは「０度（ミラー）」に設定されたか否かを判別する（ステップＳ２１）。
【０１２６】
ステップＳ２１において、「０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されたとき（ステップＳ２１：Ｙ）、変数ＬＳＡにオフセットアドレスＯＡを加算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２２）。そして、ステップＳ１１に戻る。
【０１２７】
ステップＳ２１において、「０度」に設定され、或いは「０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２１：Ｎ）、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたか否かを判別する（ステップＳ２３）。
【０１２８】
ステップＳ２３において、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判別されたとき（ステップＳ２３：Ｙ）、変数ＬＳＡから１アドレスを減算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２４）。そして、ステップＳ１１に戻る。
【０１２９】
ステップＳ２３において、「９０度」に設定され、或いは「２７０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２３：Ｎ）、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたか否かを判別する（ステップＳ２５）。
【０１３０】
ステップＳ２５において、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されたとき（ステップＳ２５：Ｙ）、変数ＬＳＡからオフセットアドレスＯＡを減算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２６）。そして、ステップＳ１１に戻る。
【０１３１】
ステップＳ２５において、「１８０度」に設定され、或いは「１８０度（ミラー）」に設定されたと判別されなかったとき（ステップＳ２５：Ｎ）、「２７０度」に設定され、或いは「９０度（ミラー）」に設定されたと判断する。そして、変数ＬＳＡに１アドレスを加算して変数ＬＳＡを更新すると共に、該変数ＬＳＡをリードアドレスＲＤＡに設定する（ステップＳ２７）。そして、ステップＳ１１に戻る。
【０１３２】
読み出し制御回路３４は、このような回転制御部４０によって設定されたリードアドレスＲＤＡを用いて、メモリ２２から画像データを読み出す制御を行う。
【０１３３】
なお図９乃至図１３では、回転制御部４０が、画像の向きの回転処理及び鏡像反転処理を行うものとして説明したが、回転処理及び鏡像反転処理のうち少なくとも１つを行うものでもよい。
【０１３４】
以上説明した本実施形態では、メモリアドレス制御部３６が、書き込み領域及び読み出し領域の更新を行っていたが、これに限定されるものではない。本実施形態の変形例では、ホスト１０が、直接書き込み領域及び読み出し領域を設定する。
【０１３５】
図１４に、本実施形態の変形例における表示コントローラの構成例のブロック図を示す。但し、図２に示す表示コントローラ２０と同一部分には同一符号を付し、適宜説明を省略する。変形例における表示コントローラ２００もまた、図１に示す表示システムに適用できる。
【０１３６】
表示コントローラ２００が図２に示す表示コントローラ２０と異なる点は、メモリアドレス制御部３６に代えて割り込み発生回路２１０が設けられている点である。そして、割り込み発生回路２１０は、書き込み制御回路３２からの書き込み完了信号のパルスを受けて、ホストＩ／Ｆ回路４９を介してホスト１０に対して書き込み完了割り込み（第１の割り込み）を通知する。また、割り込み発生回路２１０は、同期信号発生回路４８からのVSYNC発生信号のパルスを受けて、ホストＩ／Ｆ回路４９を介してホスト１０に対してVSYNC発生割り込み（第２の割り込み）を通知する。
【０１３７】
そして、これらの割り込みを通知されたホスト１０が、ホストＩ／Ｆ回路４９を介して書き込み領域設定レジスタ２４（書き込み開始アドレスレジスタ２６）及び読み出し領域設定レジスタ２８（読み出し開始アドレスレジスタ３０）の設定値を更新する。
【０１３８】
図１５に、変形例における表示コントローラ２００に対して書き込み開始アドレスの更新等を行うホスト１０の処理例を示す。
【０１３９】
ホスト１０のメモリに、図１５に示す処理を実現するプログラムが格納される。ホスト１０のＣＰＵは、このプログラムを読み込んで、図１５に示す処理を実現する。
【０１４０】
まずホスト１０は、メモリ２２の書き込み領域を確保する処理を行う（ステップＳ４０）。そして、ホスト１０は、書き込み領域を指定する（ステップＳ４１）。例えばホスト１０は、図５に示すように３フレーム分の書き込み領域を確保する。そしてホスト１０は、表示コントローラ２００の書き込み領域設定レジスタ２４に、１フレーム分の書き込み領域の書き込み開始アドレス及びサイズを設定する。
【０１４１】
続いて、ホスト１０は、読み出し領域を指定する（ステップＳ４２）。例えばホスト１０は、表示コントローラ２００の読み出し領域設定レジスタ２８に読み出し開始アドレス及びサイズを設定する。
【０１４２】
その後、ホスト１０は、表示コントローラ２００からの書き込み完了割り込みの有無を監視する（ステップＳ４３：Ｎ）。ホスト１０が表示コントローラ２００からの書き込み完了割り込みを通知されたとき（ステップＳ４３：Ｙ）、更に表示コントローラ２００からのVSYNC発生割り込みの有無を監視する（ステップＳ４４：Ｎ）。
【０１４３】
ホスト１０が表示コントローラ２００からのVSYNC発生割り込みを通知されたとき（ステップＳ４４：Ｙ）、ホスト１０は、書き込み領域設定レジスタ２４の設定された現在の書き込み領域の設定情報と同じ内容の情報を、ホストＩ／Ｆ回路４９を介して読み出し領域設定レジスタ２８に設定して読み出し領域の指定を変更する（ステップＳ４５）。
【０１４４】
次にホスト１０は、当該フレームの次のフレームの画像データの書き込み領域として予め決められた書き込み領域の書き込み開始アドレス及びサイズを書き込み領域設定レジスタ２４に設定して、書き込み領域の指定を変更する（ステップＳ４６）。
【０１４５】
ここで所定の終了条件で処理を終了するとき（ステップＳ４７：Ｙ）、ホスト１０は一連の処理を終了する（エンド）。一方、所定の終了条件を満たさずに処理を終了しないとき（ステップＳ４７：Ｎ）、ステップＳ４３に戻る。
【０１４６】
なお図１５のステップＳ４０〜ステップＳ４２の処理は、図２に示す表示コントローラ２０に接続されたホスト１０の処理と共通する。またステップＳ４６の書き込み領域の指定も、ホスト１０が行うことなく表示コントローラ２００のハードウェア回路が予め設定された書き込み領域の設定情報に更新するようにしてもよい。
【０１４７】
図１６に、ホスト１０と表示コントローラ２００の動作例のシーケンス図を示す。
【０１４８】
図１６では、図１５のステップＳ４０〜ステップＳ４２に示すホスト１０の処理によって、予め書き込み領域の設定（ＳＥＱ１）、読み出し領域の設定（ＳＥＱ２）が行われているものとする。そしてホスト１０は、表示コントローラ２００に対し書き込み領域の設定（ＳＥＱ１）及び読み出し領域の設定（ＳＥＱ２）を行った後は、表示コントローラ２００からの書き込み完了割り込みの有無を監視している（ＳＥＱ３）。
【０１４９】
書き込み領域の設定（ＳＥＱ１）及び読み出し領域の設定（ＳＥＱ２）が行われた表示コントローラ２００には、カメラモジュールから画像データが入力され、ＳＥＱ１で設定された書き込み領域に該画像データが格納される（ＳＥＱ４）。その一方で、ＳＥＱ３で設定された読み出し領域から画像データが読み出されて表示ドライバに供給されている。
【０１５０】
カメラモジュールからの１フレーム分の画像データのメモリ２２への書き込みが完了すると、ホスト１０に対して書き込み完了割り込みを通知する（ＳＥＱ５）。
【０１５１】
書き込み完了割り込みの有無を監視しているホスト１０が、表示コントローラ２００からの書き込み完了割り込みの通知を検出すると、ホスト１０は引き続きVSYNC発生割り込みの有無を監視する（ＳＥＱ６）。
【０１５２】
表示コントローラ２００がホスト１０に対して書き込み完了割り込みを通知後、１又は複数回のVSYNC発生信号を受信した割り込み発生回路２１０は、VSYNC発生割り込みをホスト１０に通知する（ＳＥＱ７）。
【０１５３】
VSYNC発生割り込みの有無を監視しているホスト１０が、表示コントローラ２００からのVSYNC発生割り込みの通知を検出すると、ホスト１０が次の読み出し領域を指定する（ＳＥＱ８）。これにより、表示コントローラ２００の読み出し領域設定レジスタ２８には、次の読み出し領域が設定される（ＳＥＱ９）。続いてホスト１０が次の書き込み領域を指定する（ＳＥＱ１０）。これにより、表示コントローラ２００の書き込み領域設定レジスタ２４には、次の書き込み領域が設定される（ＳＥＱ１１）。
【０１５４】
図１７に、変形例における表示コントローラ２００の動作例のタイミング図を示す。
【０１５５】
図１７では、図６と同様に、カメラモジュールから１５ｆｐｓのレートで画像データがメモリ２２に書き込まれ、メモリ２２から６０ｆｐｓのレートで画像デーが読み出されるものとする。
【０１５６】
書き込み制御回路３２は、メモリ２２の書き込み領域への１フレーム分の書き込みが完了したことを示す書き込み完了信号を、６６．６（＝１０００／１６）ミリ秒ごとに発生させる。この書き込み完了信号を受けた割り込み発生回路２１０は、書き込み完了割り込みをホスト１０に通知する。
【０１５７】
また同期信号発生回路４８は、表示用の垂直同期信号VSYNCがアクティブになったことを示すVSYNC発生信号のパルスを、１６．６（＝１０００／６０）ミリ秒ごとに発生させる。このVSYNC発生信号のパルスを１又は複数回受けた割り込み発生回路２１０は、VSYNC発生割り込みをホスト１０に通知する。
【０１５８】
ここで図５に示すようにメモリ２２の書き込み領域Ａ、Ｂ、Ｃの各領域が設定されているものとする。書き込み領域Ｃに１フレーム分の画像データの書き込みが完了すると、書き込み完了割り込みＥ１０が発生する。書き込み完了割り込みＥ１０を発生させる書き込み完了割り込み信号により、書き込み領域が領域Ａに変更される（Ｅ１１）。ここでは、ホスト１０ではなく表示コントローラ２００内のハードウェア回路で書き込み領域が変更されるものとしている。
【０１５９】
書き込み完了割り込みＥ１０が発生した直後のVSYNC発生信号のパルスＥ１２により、ホスト１０が、書き込みが完了した書き込み領域の書き込み開始アドレス及びサイズを、次の読み出し領域の読み出し開始アドレス及びサイズとして設定する。このときホスト１０が、読み出し開始アドレス及びサイズの設定のために複数回表示コントローラ２００にアクセスする必要がある場合に備えて、VSYNC発生信号のパルスＥ１２の次のVSYNC発生信号のパルスＥ１３により、読み出し領域設定レジスタ２８に、更新後の読み出し領域の読み出し開始アドレス及びサイズを設定する（Ｅ１４）。
【０１６０】
その後は、読み出し開始アドレスにより指定される読み出し領域Ｃから１フレーム分の画像データの読み出しが完了するまでの間、繰り返し読み出し領域Ｃからの画像データが表示ドライバ５０に対して出力される。なお図１７では、メモリ２２に１フレームの画像データを書き込む速度が、回転後の画像データをメモリ２２から読み出す速度より遅いため、次の書き込み完了割り込みＥ１５が発生するまで、読み出し領域の更新が行われない。
【０１６１】
以上のようにして、書き込み領域が完了した領域を、読み出し領域として更新していく。
【０１６２】
３．  電子機器
図１８に、本実施形態又はその変形例における表示コントローラが適用される電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
【０１６３】
携帯電話機４００は、カメラモジュール４１０を含む。カメラモジュール４１０は、ＣＣＤカメラを含み、ＣＣＤカメラで撮像した画像のデータを、ＹＵＶフォーマットで表示コントローラ４０２に供給する。表示コントローラ４０２として、本実施形態又は変形例における表示コントローラを採用できる。
【０１６４】
携帯電話機４００は、表示パネル４２０を含む。表示パネル４２０として、液晶表示パネルを採用できる。この場合、表示パネル４２０は、表示ドライバ４３０によって駆動される。表示パネル４２０は、複数の走査線、複数のデータ線、複数の画素を含む。表示ドライバ４３０は、複数の走査線の１又は複数本単位で走査線を選択する走査ドライバの機能を有すると共に、画像データに対応した電圧を複数のデータ線に供給するデータドライバの機能を有する。
【０１６５】
表示コントローラ４０２は、表示ドライバ４３０に接続され、表示ドライバ４３０に対してＲＧＢフォーマットの画像データを供給する。
【０１６６】
ホスト４４０は、表示コントローラ４０２に接続される。ホスト４４０は、表示コントローラ４０２を制御する。またホスト４４０は、アンテナ４６０を介して受信された画像データを、変復調部４５０で復調した後、表示コントローラ４０２に供給できる。表示コントローラ４０２は、この画像データに基づき、表示ドライバ４３０により表示パネル４２０に表示させる。
【０１６７】
ホスト４４０は、カメラモジュール４１０で生成された画像データを変復調部４５０で変調した後、アンテナ４６０を介して他の通信装置への送信を指示できる。
【０１６８】
ホスト４４０は、操作入力部４７０からの操作情報に基づいて画像データの送受信処理、カメラモジュール４１０の撮像、表示パネルの表示処理を行う。
【０１６９】
なお、図１８では、表示パネル４２０として液晶表示パネルを例に説明したが、これに限定されるものではない。表示パネル４２０は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画像データを供給する表示コントローラに適用できる。
【０１７０】
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば読み出し領域設定レジスタ２８（読み出し開始アドレスレジスタ３０）の設定値は、書き込み領域設定レジスタ２４（書き込み開始アドレスレジスタ２６）の設定値に更新されるため、ホストを介在させることなく本実施形態又は変形例における表示コントローラのハードウェア回路により処理させることも可能である。
【０１７１】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【０１７２】
【図１】本実施形態における表示コントローラが適用された表示システムの構成例のブロック図。
【図２】本実施形態における表示コントローラの構成例のブロック図。
【図３】画像データの一例を示す説明図。
【図４】図３の画像データをメモリに格納した例の説明図。
【図５】書き込み領域毎に設けられた書き込み開始アドレスの説明図。
【図６】本実施形態における表示コントローラの動作例のタイミング図。
【図７】図２の同期信号発生回路の構成例のブロック図。
【図８】ドットクロック、垂直同期信号、水平同期信号及び画像データのタイミング関係の一例を示す図。
【図９】図２の回転制御部が行う回転制御の説明図。
【図１０】図１０（Ａ）〜（Ｄ）は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。
【図１１】図１１（Ａ）〜（Ｄ）は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。
【図１２】図２の回転制御部の動作フローの前半を示すフロー図。
【図１３】図２の回転制御部の動作フローの後半を示すフロー図。
【図１４】本実施形態の変形例における表示コントローラの構成例のブロック図。
【図１５】変形例における表示コントローラに対して書き込み開始アドレスの更新等を行うホストの処理例を示すフロー図。
【図１６】ホストと変形例における表示コントローラの動作例のシーケンス図。
【図１７】変形例における表示コントローラの動作例のタイミング図。
【図１８】本実施形態又は変形例における表示コントローラが適用された電子機器の構成例のブロック図
【符号の説明】
【０１７３】
１０  ホスト、１２  画像取り込み部、２０、２００  表示コントローラ、
２２  メモリ、２４  書き込み領域設定レジスタ、
２６  書き込み開始アドレスレジスタ、２８  読み出し領域設定レジスタ、
３０  読み出し開始アドレスレジスタ、３２  書き込み制御回路、
３４  読み出し制御回路、３６  メモリアドレス制御部、４０  回転制御部、
４２  カメラＩ／Ｆ回路、４４  ＹＵＶ−ＲＧＢコンバータ、４６  ＬＣＤＩ／Ｆ回路、
４８  同期信号発生回路、４９  ホストＩ／Ｆ回路、５０  表示ドライバ、
６０  表示パネル、１００  表示システム、２１０  割り込み発生回路
【図１】
2006020193.tif 000003
【図２】
2006020193.tif 000004
【図３】
2006020193.tif 000005
【図４】
2006020193.tif 000006
【図５】
2006020193.tif 000007
【図６】
2006020193.tif 000008
【図７】
2006020193.tif 000009
【図８】
2006020193.tif 000010
【図９】
2006020193.tif 000011
【図１０】
2006020193.tif 000012
【図１１】
2006020193.tif 000013
【図１２】
2006020193.tif 000014
【図１３】
2006020193.tif 000015
【図１４】
2006020193.tif 000016
【図１５】
2006020193.tif 000017
【図１６】
2006020193.tif 000018
【図１７】
2006020193.tif 000019
【図１８】
2006020193.tif 000020