JP4003762B2 - 表示コントローラ、電子機器及び画像データ供給方法 - Google Patents

表示コントローラ、電子機器及び画像データ供給方法 Download PDF

Info

Publication number
JP4003762B2
JP4003762B2 JP2004197611A JP2004197611A JP4003762B2 JP 4003762 B2 JP4003762 B2 JP 4003762B2 JP 2004197611 A JP2004197611 A JP 2004197611A JP 2004197611 A JP2004197611 A JP 2004197611A JP 4003762 B2 JP4003762 B2 JP 4003762B2
Authority
JP
Japan
Prior art keywords
image data
start address
read
memory
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004197611A
Other languages
English (en)
Other versions
JP2006020193A (ja
Inventor
裕史 上條
健人 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004197611A priority Critical patent/JP4003762B2/ja
Priority to US11/175,122 priority patent/US7667708B2/en
Publication of JP2006020193A publication Critical patent/JP2006020193A/ja
Application granted granted Critical
Publication of JP4003762B2 publication Critical patent/JP4003762B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0492Change of orientation of the displayed image, e.g. upside-down, mirrored

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Liquid Crystal Display Device Control (AREA)
  • Studio Devices (AREA)

Description

本発明は、表示コントローラ、電子機器及び画像データ供給方法に関する。
近年、液晶表示(Liquid Crystal Display:LCD)パネルに代表される表示パネルが、携帯電話機等の携帯機器(広義には、電子機器)に実装されることが多い。表示パネルは、画像データに基づいて表示ドライバにより駆動される。画像データは、例えばカメラモジュールにより取り込まれたものであったり、ホストによって生成又は加工されたものであったりする。表示ドライバは、このような画像データと表示用の同期信号とを受けて、表示パネルの駆動制御を行う。
表示コントローラは、この画像データ及び表示用の同期信号の供給をホストに代わって行い、該ホストの処理負荷を軽減させることができる。このような表示コントローラには、低消費電力化を目的として、ビデオメモリとして機能するメモリを内蔵するものがある。
特開2003−224862号公報 特開平6−105290号公報
ところで表示パネルが実装される携帯機器は、カメラモジュールを内蔵し、該カメラモジュールから取り込んだ画像を表示パネルに表示させることができるようになっている。この場合、カメラモジュールから取り込んだ画像を、一旦表示コントローラのメモリに格納し、表示ドライバに供給することになる。
しかしながら、カメラモジュールからの画像データの書き込み周期(書き込みレート)と、表示ドライバに供給するための画像データの読み出し周期(読み出しレート)とは必ずしも一致しない。そのため表示コントローラのメモリの記憶容量は1フレーム分の画像データを記憶できるだけでは、画像データの欠落なく表示ドライバに画像データを供給することができない。
また、カメラモジュールが取り込んだ画像データの画像の向きは、固定されていることが一般的である。そのため、カメラモジュールからの画像データの画像の向きを、表示コントローラ内で回転させて表示ドライバに供給する。ところが、表示パネルに表示させるために画像の向きを回転させる場合には、表示コントローラのメモリの記憶容量を2フレーム分だけ確保したとしても十分ではない。この場合、読み出し途中の1フレームの画像データの領域に、次のフレームの画像データが書き込まれてしまい、表示パネルに表示させた画像の画質を劣化させる。そのため、表示コントローラのメモリには、少なくとも3フレーム分を確保する必要が生ずる。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、画像データを欠落なく供給して画質の劣化を防止できる表示コントローラ、電子機器及び画像データ供給方法を提供することにある。
上記課題を解決するために本発明は、表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、少なくとも3フレーム分の画像データを記憶するメモリと、画像データを前記メモリに書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタと、前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタと、前記メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部とを含み、前記書き込み開始アドレスにより指定される領域への画像データの書き込みが完了したとき、前記書き込み開始アドレスレジスタに設定された前記書き込み開始アドレスを次のフレームの画像データを書き込むための書き込み開始アドレスに更新すると共に、前記読み出し開始アドレスとして更新前の前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定し、前記読み出し開始アドレスにより指定される前記メモリの領域から前記回転制御部によって読み出された回転後の画像データを、前記表示ドライバに供給する表示コントローラに関係する。
本発明においては、回転制御部が設けられ、メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う。そのため、メモリの書き込み領域用に1フレームと読み出し領域用に1フレームの計2フレームを確保していても、回転制御を行う場合には1フレーム分の画像データの読み出しが完了しない限り、当該読み出し領域の画像データを更新できない。従って、更にもう1フレーム分の記憶容量を確保する必要があり、少なくとも3フレーム分の画像データを記憶できるメモリを必要とする。
このような構成により、回転制御を行う場合であっても、書き込みが完了したメモリの領域から画像データを読み出すため、画像データの欠落を防止できる。
また本発明に係る表示コントローラでは、前記読み出し開始アドレスにより指定される前記メモリの領域から1フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しなくてもよい。
本発明によれば、回転制御部により読み出されるメモリの領域から1フレーム分の画像データの読み出しが完了するまで、読み出し開始アドレスを更新しないようにしたので、回転後の画像データが読み出される最中に、新たな読み出し領域から画像データが読み出されることを確実に防止できるようになる。
また本発明に係る表示コントローラでは、1フレームの走査期間を規定する垂直同期信号を発生する同期信号発生回路を含み、前記垂直同期信号に同期して前記画像データを前記表示ドライバに供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することができる。
本発明によれば、1フレームの画像データの読み出しが完了しないうちに、別の読み出し領域から画像データが読み出されて、1フレーム分の画像データに、異なる読み出し領域から読み出された画像データが混ざるという事態を確実に回避できる。
また本発明に係る表示コントローラでは、前記画像データの書き込みが完了した後、前記垂直同期信号が少なくとも2回アクティブになったことを条件に、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することができる。
本発明においては、読み出し開始アドレスレジスタの設定が完了するまでに時間がかかる場合が考えられる。例えば表示コントローラに2回以上のアクセスで読み出し開始アドレスの更新値の設定が完了する場合には、1回目のアクセスが完了した時点でバッファの内容を読み出し開始アドレスレジスタに設定してしまうと、不十分な更新値が読み出し開始アドレスとして参照されることになる。本発明によれば、十分なアクセス時間を確保し、書き込みが完了したメモリの領域から確実に画像データを読み出すことができるようになる。
また本発明に係る表示コントローラでは、前記メモリに1フレームの画像データを書き込む速度が、前記回転後の画像データを前記メモリから読み出す速度より遅くてもよい。
本発明によれば、1フレームの画像データの読み出しが完了しないうちに、当該読み出し領域が書き込み領域となって、1フレーム分の画像データに、新たに書き込まれた画像データが混ざるという事態を確実に回避できるようになる。
また本発明に係る表示コントローラでは、前記書き込み開始アドレスレジスタには、前記メモリの各フレームの書き込み領域毎に書き込み開始アドレスが設定され、前記画像データの書き込み時にいずれか1つが選択されてもよい。
本発明によれば、書き込み開始アドレスを更新する度に、書き込み領域設定レジスタにアクセスして書き込み開始アドレスを設定する必要がなく、不要なアクセスを行うことなく迅速に書き込み開始アドレスを更新できる。
また本発明に係る表示コントローラでは、ホストとの間のインタフェース処理を行うホストインタフェースを含み、前記ホストに対して前記画像データの書き込みが完了したことを示す第1の割り込みを通知し、前記第1の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されてもよい。
また本発明に係る表示コントローラでは、前記第1の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、更新後の書き込み開始アドレスが供給されてもよい。
また本発明に係る表示コントローラでは、前記ホストに対して前記垂直同期信号がアクティブになったことを示す第2の割り込みを通知し、前記第1及び第2の割り込みが通知されたことを条件に、前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されてもよい。
また本発明に係る表示コントローラでは、前記メモリから読み出された画像データを前記表示ドライバに供給するための表示ドライバインタフェースを含むことができる。
また本発明は、表示パネルと、上記のいずれか記載の表示コントローラと、前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含む電子機器に関係する。
また本発明に係る電子機器では、前記表示コントローラとの間で画像データの入出力を行うホストを含むことができる。
本発明によれば、画像データを欠落なく供給して画質の劣化を防止できる電子機器を提供できる。
また本発明は、表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、少なくとも3フレーム分の画像データを記憶するメモリの領域のうち、書き込み開始アドレスレジスタに設定された書き込み開始アドレスにより指定される領域に画像データを書き込み、前記画像データの書き込みが完了したとき、前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタに、前記書き込み開始アドレスを設定し、前記読み出し開始アドレスレジスタに設定された前記読み出し開始アドレスにより指定される前記メモリの領域から各画素の画像データを回転角度に対応した読み出し順序で読み出し、画像の向きを回転させた回転後の画像データとして前記表示ドライバに供給する画像データ供給方法に関係する。
また本発明に係る画像データ供給方法では、前記読み出し開始アドレスにより指定される前記メモリの領域から1フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しなくてもよい。
また本発明に係る画像データ供給方法では、1フレームの走査期間を規定する垂直同期信号に同期して前記表示ドライバに対して前記画像データを供給する場合に、前記画像データの書き込みが完了したとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定することができる。
また本発明に係る画像データ供給方法では、前記画像データの書き込みが完了した後に、前記垂直同期信号が2回アクティブになったとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを前記読み出し開始アドレスレジスタに設定することができる。
また本発明に係る画像データ供給方法では、前記メモリに1フレームの画像データを書き込む速度が、前記回転後の画像データを前記メモリから読み出す速度より遅くてもよい。
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
図1に、本実施形態における表示コントローラが適用された表示システムの構成例を示す。例えば図1に示す表示システムが、電子機器に搭載される。
表示システム100は、ホスト10、画像取り込み部(狭義には撮像部)12、表示コントローラ20、表示ドライバ50、表示パネル60を含む。ホスト10は、CPU(Central Processing Unit)及びメモリを有し、メモリに記憶されたプログラムを読み込んだCPUが該プログラムに対応した処理を実行することで所定の機能を実現する。ここでは、ホスト10が、表示パネル60に表示させる画像に対応した画像データを生成又は加工し、表示コントローラ20に供給する。
画像取り込み部12として、例えば撮像素子を有するカメラモジュールを採用できる。画像取り込み部12で撮像により取り込まれた画像の画像データは、表示コントローラ20に供給される。表示コントローラ20は、ホスト10からの画像データ、又は画像取り込み部12によって取り込まれた画像データ、或いはこれらを加工処理した画像データを、表示パネル60を駆動する表示ドライバ50に供給することができる。
画像取り込み部12からの画像データは、例えば15フレーム毎秒(frame per second:fps)のレートで表示コントローラ20に供給される。表示コントローラ20は、例えば60fpsのレートで画像データを表示ドライバ50に供給する。
表示ドライバ50は、表示コントローラ20からの画像データに基づいて表示パネル60を駆動することができる。表示パネル60として、例えばアクティブマトリクス型或いは単純マトリクス型のLCDパネルを採用できる。
このように表示コントローラ20は、ホスト10及び表示ドライバ50の間に設けられ、表示コントローラ20がホスト10に代わって例えば画像データの加工処理を行うことで、ホスト10の処理負荷を軽減できる。
2. 表示コントローラ
図2に、本実施形態における表示コントローラ20の構成例のブロック図を示す。
表示コントローラ20は、ビデオメモリとして機能するメモリ22を含む。このメモリ22は、少なくとも3フレーム分の画像データを記憶する。メモリ22には、図示しない画像取り込み部としてのカメラモジュールからの画像データや、図示しないホストからの画像データが格納される。表示パネルの表示レートに合わせてメモリ22から画像データが読み出され、図示しない表示ドライバに供給される。
表示コントローラ20は、書き込み領域設定レジスタ24、読み出し領域設定レジスタ28を含む。
書き込み領域設定レジスタ24には、メモリ22に書き込まれる画像データの書き込み領域を設定するための情報が設定される。書き込み領域設定レジスタ24は、メモリ22に画像データを書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタ26を含む。書き込み領域設定レジスタ24には、書き込み開始アドレスの他に書き込み領域のサイズが設定される。
読み出し領域設定レジスタ28には、メモリ22から読み出される画像データの読み出し領域を設定するための情報が設定される。読み出し領域設定レジスタ28は、メモリ22から画像データを読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタ30を含む。読み出し領域設定レジスタ28には、読み出し開始アドレスの他に読み出し領域のサイズが設定される。
表示コントローラ20は、書き込み制御回路32、読み出し制御回路34、メモリアドレス制御部36を含む。書き込み制御回路32は、書き込み領域設定レジスタ24の設定情報に基づいて、メモリ22に画像データを書き込む制御を行う。読み出し制御回路34は、読み出し領域設定レジスタ28の設定情報に基づいて、メモリ22から画像データを読み出す制御を行う。メモリアドレス制御部36が、書き込み領域設定レジスタ24(書き込み開始アドレスレジスタ26)の設定値及び読み出し領域設定レジスタ28(読み出し開始アドレスレジスタ30)の設定値を更新する制御を行う。
図2では、書き込み制御回路32がカメラモジュールからの画像データをメモリ22に書き込むが、ホストからの画像データもまた、書き込み領域設定レジスタ24及び書き込み制御回路32と同様の構成の回路によってメモリ22に書き込まれる。また図2では、読み出し制御回路34がメモリ22から画像データを読み出して表示ドライバに供給するが、ホストに供給する画像データもまた、読み出し領域設定レジスタ28及び読み出し制御回路34と同様の構成の回路によってメモリ22から読み出される。
更に表示コントローラ20は、回転制御部40を含む。この回転制御部40は、メモリ22に格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う。この回転制御部40が読み出し制御回路34を制御して、回転後の画像データを読み出す。
そして表示コントローラ20では、読み出し開始アドレスレジスタ30に設定された読み出し開始アドレスにより指定されるメモリ22の読み出し領域から画像データが所定の表示レートで読み出される。このとき回転制御部40によって読み出された回転後の画像データが、表示ドライバに供給される。
この際、読み出し開始アドレスレジスタ30により指定されるメモリ22の領域から1フレーム分の画像データの読み出しが完了するまで、読み出し開始アドレスレジスタ30の設定値を更新せずに回転後の画像データを表示ドライバ50に供給することが望ましい。
本実施形態では、書き込み制御回路32が書き込み開始アドレスにより指定される領域への画像データの書き込みを完了したとき、メモリアドレス制御部36が書き込み開始アドレスレジスタ26に設定された書き込み開始アドレスを、次のフレームの画像データを書き込むための書き込み開始アドレスに更新する。更にメモリアドレス制御部36が、読み出し開始アドレスとして、上記の更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ30に設定する。
表示コントローラ20には、図示しないカメラモジュールから15フレーム毎秒のレートでYUVフォーマットの画像データが入力される。そのため表示コントローラ20は、カメラインタフェース(InterFace:I/F)回路(広義には画像データ入力インタフェース)42、YUV−RGBコンバータ44を含むことができる。
カメラI/F回路42には、カメラモジュールからのYUVフォーマットの画像データが入力される。カメラI/F回路42は、該画像データのインタフェース処理(カメラモジュールとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データをYUV−RGBコンバータ44に出力する。
YUV−RGBコンバータ44は、YUVフォーマットの画像データをRGBフォーマットの画像データに変換する。より具体的にはYUV4:4:4フォーマット、YUV4:2:2フォーマット、YUV4:2:0フォーマット、YUV4:1:1フォーマットのいずれかの画像データを、RGB8:8:8フォーマット、RGB5:6:5フォーマット、RGB3:3:2フォーマットのいずれかの画像データに変換する。YUV−RGBコンバータ44によってRGBフォーマットに変換された画像データは、書き込み制御回路32により、書き込み領域設定レジスタ24により設定されたメモリ22の書き込み領域に書き込まれる。
そしてメモリ22に書き込まれた画像データを表示ドライバ50に供給するため、表示コントローラ20は、LCDI/F回路(広義には表示ドライバインタフェース)46を含むことができる。
LCDI/F回路46は、読み出し制御回路34によってメモリ22から読み出された画像データを表示ドライバ50に出力する。LCDI/F回路46は、画像データのインタフェース処理(表示ドライバとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データを表示ドライバ50に出力する。LCDI/F回路46は、同期信号発生回路48を含み、表示パネル60を駆動するための表示用の同期信号(1フレームの走査期間である1垂直走査期間を規定する垂直同期信号VSYNC、1水平走査期間を規定する水平同期信号HSYNC、ドットクロックDCLK等)を生成し、該同期信号を表示ドライバ50に供給することができる。このときLCDI/F回路46は、各フレームの画像データを垂直同期信号に同期させ、且つ各画素の画像データをドットクロックDCLKに同期させて出力する。
この場合、書き込み領域への1フレーム分の画像データの書き込みが完了したとき、同期信号発生回路48によって生成された垂直同期信号VSYNCに同期して、読み出し開始アドレスとして、更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ30に設定する。
こうすることで、1フレームの画像データの読み出しが完了しないうちに、別の読み出し領域から画像データが読み出されて、1フレーム分の画像データに、異なる読み出し領域から読み出された画像データが混ざるという事態を確実に回避できる。
なお図2では、LCDI/F回路46が同期信号発生回路48を含む構成となっているが、同期信号発生回路48がLCDI/F回路46の外部に設けられる構成であってもよい。
更に、メモリ22に1フレームの画像データを書き込む速度が、回転制御部40によって回転後の画像データをメモリ22から読み出す速度より遅いことが望ましい。
こうすることで、1フレームの画像データの読み出しが完了しないうちに、当該読み出し領域が書き込み領域となって、1フレーム分の画像データに、新たに書き込まれた画像データが混ざるという事態を確実に回避できるようになる。
更にまた、画像データの書き込みが完了した後、垂直同期信号VSYNCが少なくとも2回アクティブになったことを条件に、読み出し開始アドレスとして、更新前の書き込み開始アドレスを読み出し開始アドレスレジスタ30に設定するようにしてもよい。メモリアドレス制御部36やホスト10等の外部装置によって読み出し開始アドレスが更新される場合に、読み出し開始アドレスレジスタ30の設定が完了するまでに時間がかかる場合が考えられる。例えば表示コントローラ20の図示しないバッファへの2回以上のアクセスで読み出し開始アドレスの更新値の設定が完了する場合には、1回目のアクセスが完了した時点でバッファの内容を読み出し開始アドレスレジスタ30に設定してしまうと、不十分な更新値が読み出し開始アドレスとして参照されることになる。従って、垂直同期信号VSYNCが少なくとも2回アクティブになったことを条件に読み出し開始アドレスを更新することで、十分なアクセス時間を確保し、書き込みが完了したメモリ22の領域から確実に画像データを読み出すことができるようになる。
このような表示コントローラ20に対し、ホスト10は、メモリ22に画像データを書き込むことができ、メモリ22から画像データを読み出すことができる。そのため表示コントローラ20は、ホストI/F回路(広義には、ホストインタフェース)49を含む。ホストI/F回路49を介してホスト10から入力された画像データが、図示しない書き込み制御回路によってメモリ22に書き込まれる。
またホストI/F回路49には、ホスト10からの画像データが入力される。このとき、ホストI/F回路49は、インタフェース処理(ホストとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データをメモリ22に供給する。また、図示しない読み出し制御回路によってメモリ22から読み出された画像データを、ホストI/F回路49を介してホスト10に供給できるようになっている。この場合、ホストI/F回路49は、インタフェース処理(ホストとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データをホスト10に出力する。
本実施形態によれば、表示パネル60に表示させるために、回転制御部40の回転制御により画像データの画像の向きを回転させた画像データを読み出す場合であっても、当該読み出し領域に新たな画像データが書き込まれることがなくなる。そのため、画像データを欠落なく供給できるようになる。以下では、この点について説明する。
図3に、画像データの一例を示す。
図4に、図3の画像データをメモリ22に格納した例の説明図を示す。
図3では説明を簡略化するために、水平方向に4画素、垂直方向に4画素が並ぶ画像の画像データを示している。そして、メモリ22には、画像の水平方向に並ぶ画素の画素値が該画像の垂直方向の順番で格納されているものとする。
即ち、メモリ22には、水平方向に並ぶ画素の画素値P10、P11、P12、P13、・・・、P40、P41、P42、P43の順序でインクリメントされるアドレスにより指定される記憶領域に各画素値が格納される。従って図4に示すように、メモリ22のアドレスADに画素値P10(RGBの各成分データをR10、G10、B10)、アドレス(AD+1)に画素値P11(RGBの各成分データをR11、G11、B11)、・・・、アドレス(AD+8)に画素値P30(RGBの各成分データをR30、G30、B30)、・・・が格納されている。
ここで、画像データの画像の向きを回転させることなく、メモリ22に格納された順序で画像データを読み出す場合には、画素値P10、P11、P12、P13、・・・、P40、P41、P42、P43の順序で読み出せばよい。この場合、メモリ22からアドレスAD、(AD+1)、(AD+2)、・・・の順序で画素値を読み出すことになる。
一方、例えば画像データの画像の向きを左回りに90度回転させる場合には、図3の矢印90の順番である画素値P13、P23、P33、P43、P12、P22、P32、P42、P11、・・・、P10、P20、30、P40の順序で読み出せばよい。これは、表示パネル60の水平方向の走査方向に合わせて各画素値を並び換える必要があるからである。この場合、メモリ22からアドレス(AD+3)、(AD+7)、・・・の順序で画素値を読み出すことになる。図3及び図4では、画像データの画像の向きを左回りに90度回転させる場合について説明したが、左回り又は右回りに、90度、180度又は270度回転させる場合も同様に、メモリ22に格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像データの画像の向きを回転させることができる。
ところが、メモリ22に格納された順序で画像データを読み出す場合と異なり、回転角度に対応した読み出し順序で読み出される1フレーム分の画像データの読み出しが完了しない間は、当該フレームの画像データを書き換えることができない。例えば、画素値P13、P23、・・・の順に読み出したとしても、画素値P10、P11、P12、20、21、P22の読み出しが完了していないからである。従って、メモリ22の書き込み領域用に1フレームと読み出し領域用に1フレームの計2フレームを確保していても、回転制御を行う場合には1フレーム分の画像データの読み出しが完了しない限り、当該読み出し領域の画像データを更新できない。従って、更にもう1フレーム分の記憶容量を確保する必要がある。
このように本実施形態では、メモリ22に少なくとも3フレーム分の画像データを記憶させるようにしたので、回転制御を行う場合であっても画像データの欠落を防止できる。
なお、書き込み開始アドレスレジスタ26には、メモリ22の各フレームの書き込み領域毎に書き込み開始アドレスが設定されるようにしてもよい。
図5に、書き込み領域毎に設けられた書き込み開始アドレスの説明図を示す。
図5には、メモリ22の領域に、3フレーム分の書き込み領域A、B、Cが確保された場合を示している。従って書き込み開始アドレスレジスタ26には、第1〜第3の書き込み開始アドレスが設定される。第1の書き込み開始アドレスには、書き込み領域Aの先頭アドレスが設定される。第2の書き込み開始アドレスには、書き込み領域Bの先頭アドレスが設定される。第3の書き込み開始アドレスには、書き込み領域Cの先頭アドレスが設定される。そして、画像データの書き込み時に、第1〜第3の書き込み開始アドレスの中からいずれか1つが選択される。
こうすることで、書き込み開始アドレスを更新する度に、書き込み領域設定レジスタ42にアクセスして書き込み開始アドレスを設定する必要がない。従って、書き込み開始アドレスを更新する場合には、予め設定した複数の書き込み開始アドレスの中からいずれか1つを選択するだけでよい。このため、処理負荷をかけることなく、迅速に書き込み開始アドレスを変更できる。例えば、カメラモジュールからの画像データにブランク期間がほとんどなく、外部からのアクセスに十分な時間がとれない場合でも、書き込み開始アドレスを確実に変更できる。
なお図5では、書き込み開始アドレスを書き込み領域毎に設定するようにしたが、読み出し開始アドレスを読み出し領域毎に設定しておき、読み出し時にいずれかの読み出し開始アドレスを用いるようにすることも可能である。
図6に、本実施形態における表示コントローラ20の動作例のタイミング図を示す。
ここでは、カメラモジュールから15fpsのレートで画像データがメモリ22に書き込まれ、メモリ22から60fpsのレートで画像デーが読み出されるものとする。
書き込み制御回路32は、メモリ22の書き込み領域への1フレーム分の書き込みが完了したことを示す書き込み完了信号のパルスを、66.6(=1000/16)ミリ秒ごとに発生させる。書き込み完了信号は、メモリアドレス制御部36に入力される。
また同期信号発生回路48は、表示用の垂直同期信号VSYNCがアクティブになったことを示すVSYNC発生信号のパルスを、16.6(=1000/60)ミリ秒ごとに発生させる。VSYNC発生信号もまた、メモリアドレス制御部36に入力される。
図5に示すようにメモリ22の書き込み領域A、B、Cの各領域が設定されている。書き込み領域Cに1フレーム分の画像データの書き込みが完了すると、書き込み完了信号のパルスE1が発生する。書き込み完了信号のパルスE1により、メモリアドレス制御部36が、書き込み領域を領域Aに変更する(E2)。より具体的には、メモリアドレス制御部36は、次の書き込み領域として予め設定された領域Aの先頭アドレスを、書き込み開始アドレスレジスタ26に設定する。
書き込み完了信号のパルスE1が発生した直後のVSYNC発生信号のパルスE3により、図示しないバッファ等に次の読み出し領域として、書き込みが完了した書き込み領域Cが用意される。そして、VSYNC発生信号のパルスE3の次のVSYNC発生信号のパルスE4により、メモリアドレス制御部36は、読み出し領域を領域Cに変更する(E5)。即ち、用意された書き込み領域Cの書き込み開始アドレスを、次の読み出し開始アドレスとして読み出し開始アドレスレジスタ30に設定する。
なお次の読み出し領域を迅速に用意できる場合には、書き込み完了信号のパルスE1が発生した直後のVSYNC発生信号のパルスE3により、書き込み領域Cの書き込み開始アドレスを、次の読み出し開始アドレスとして読み出し開始アドレスレジスタ30に設定するようにしてもよい。
読み出し開始アドレスレジスタ30を更新した後は、読み出し開始アドレスにより指定される読み出し領域Cから1フレーム分の画像データの読み出しが完了するまでの間、繰り返し読み出し領域Cからの画像データが表示ドライバ50に対して出力される。なお図6では、メモリ22に1フレームの画像データを書き込む速度が、回転後の画像データをメモリ22から読み出す速度より遅いため、次の書き込み完了信号のパルスE10が発生するまで、読み出し領域の更新が行われない。
以上のようにして、書き込み領域が完了した領域を、読み出し領域として更新していく。
以下では、表示コントローラ20の構成要部の構成例について説明する。
図7に、図2の同期信号発生回路48の構成例を示す。
同期信号発生回路48は、垂直カウンタ120、水平カウンタ122、画素クロック発生回路124を含む。
垂直カウンタ120は、水平カウンタ122によって生成された水平同期信号HSYNCをカウントし、そのカウント値が垂直ライン数に一致するまでの間Hレベルとなる垂直同期信号VSYNCを出力する。水平カウンタ122は、画素クロック発生回路124によって生成されたドットクロック(画素クロック)DCLKをカウントし、そのカウント値が水平画素数に一致するまでの間Hレベルとなる水平同期信号HSYNCを出力する。画素クロック発生回路124は、所与の基準クロックを分周したドットクロックDCLKを出力する。
表示コントローラ20は、ホスト10によってその設定値が設定可能な図示しない制御レジスタを有し、ホスト10が該制御レジスタに対し図7の垂直ライン数及び水平画素数を設定できるようになっている。
また同期信号発生回路48は、立ち上がり検出回路126を含む。立ち上がり検出回路126は、垂直カウンタ120の発生した垂直同期信号VSYNCの立ち上がり時にアクティブとなるパルスを有するVSYNC発生信号を出力する。
図8に、ドットクロック、垂直同期信号、水平同期信号及び画像データのタイミング関係の一例を示す。
垂直同期信号は、1垂直走査期間を規定する信号であり、垂直同期信号がHレベルの期間が1垂直走査期間となる。水平同期信号は、1水平走査期間を規定する信号であり、水平同期信号がHレベルの期間が1水平走査期間となる。1水平走査期間には、ドットクロックDCLKに同期して各画素の画像データが、表示ドライバ50に出力される。
次に、本実施形態の回転制御について説明する。
図9に、図2の回転制御部40が行う回転制御の説明図を示す。
以下では、回転制御部40が、回転角度として0度、90度、180度、270度のみが指定できるものとし、各回転角度について更に鏡像反転を行うか否かを指定できるものとする。回転制御部40は、画像データの画像の向きを所定の基準点を基準に回転角度に応じて回転させた画像データの読み出し制御を行うことができる。また回転制御部40は、画像データの画像の水平方向の画素の並び方向が処理前の画像の水平方向の画素の並び方向と反対となるように鏡像反転処理された画像データの読み出し制御を行うことができる。
メモリ22には、各画素の画像データが、画像先頭アドレスから画像最終アドレスまでの記憶領域に格納されている。この画像データの画像の水平方向の画素数が水平画素数である。また該画像の垂直方向のライン数が、垂直ライン数である。水平方向の各画素の画像データは、水平方向の各ラインの先頭アドレスを基準に更新されるアドレスにより指定されるメモリ22の記憶領域に格納される。
水平方向の1つのラインの最終アドレスと次のラインの先頭アドレスは連続していなくてもよく、あるラインの先頭アドレスとその次のラインの先頭アドレスのアドレス間隔をオフセットアドレスと定義する。なお、あるラインの最終アドレスとその次のラインの先頭アドレスが連続している場合、オフセットアドレスが0となる。
表示コントローラ20の図示しない制御レジスタには、鏡像反転処理を行うか否かを指定するための情報としてミラー機能イネーブル情報が設定される。またこの制御レジスタには、回転角度を設定するための情報として回転角度情報が設定される。
ホスト10は、更に回転角度、ミラー機能イネーブル情報に応じて、制御レジスタにメモリ22のリード開始アドレス及びオフセットアドレスを指定する。
図10(A)〜(D)、図11(A)〜(D)は、回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図である。ここでは、回転後の画像のイメージを模式的に示している。
図10(A)は、回転角度が0度、ミラー機能がディセーブル状態(オフ)に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、回転後の画像の向きは処理前と同じであるため、左上のアドレスをリード開始アドレスSAとし、更新方向DIR1にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスOA1を用いて求める。このように読み出された1ライン分の画素を、回転後の画像の水平方向の1ライン分の画素とする。
図10(B)は、回転角度が90度、ミラー機能がイネーブル状態(オン)に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。この場合、左上のアドレスをリード開始アドレスSAとして、更新方向DIR2にリードアドレスを更新していく。このリードアドレスが更新方向の最終アドレスに達すると、次のラインの先頭のリードアドレスは、オフセットアドレスOA2を用いて求める。このように読み出された1ライン分の画素を、回転後の画像の水平方向の1ライン分の画素とする。
図10(C)は、回転角度が90度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図10(D)は、回転角度が0度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図11(A)は、回転角度が270度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図11(B)は、回転角度が180度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図11(C)は、回転角度が180度、ミラー機能がディセーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図11(D)は、回転角度が270度、ミラー機能がイネーブル状態に設定された場合のリード開始アドレス、リードアドレスの更新方向及びオフセットアドレスを模式的に示したものである。
図10(C)、(D)、図11(A)〜(D)についても、図10(A)、(B)で説明したようにして同様にリードアドレスを求め、該リードアドレスを用いて読み出された1ライン分の画素を、回転後の画像の水平方向の1ライン分の画素とする。
図12及び図13に、図2の回転制御部40の動作フローを示す。ここでは、説明の便宜上、1アドレスで指定される記憶領域に1画素の画像データが格納されるものとする。
また、以下では、回転角度及びミラー機能イネーブル情報の状態について、回転角度のみを示し、ミラー機能がイネーブル状態の場合のみ回転角度の後に「(ミラー)」と簡略化して示す。例えば、「0度」は、回転角度が0度でミラー機能がディセーブル状態であることを示し、「180度(ミラー)」は、回転角度が180度でミラー機能がイネーブル状態であることを示す。
まず図10(A)〜(D)、図11(A)〜(D)に示したように、回転角度及びミラー機能イネーブル情報に応じてホストによって設定されるリード開始アドレスをリードアドレスRDAに設定し、変数LSAを0に初期化する(ステップS10)。
次にリードアドレスRDAを用いてメモリ22から画像データを読み出す(ステップS11)。
全ラインの読み出しが終了のとき(ステップS12:Y)、一連の処理を終了する(エンド)。
ステップS12において全ラインの読み出しが終了ではないとき(ステップS12:N)、「0度」に設定され、或いは「180度(ミラー)」に設定されたか否かを判別する(ステップS13)。
ステップS13において、「0度」に設定され、或いは「180度(ミラー)」に設定されたと判別されたとき(ステップS13:Y)、リードアドレスRDAに1アドレスを加算してリードアドレスRDAを更新する(ステップS14)。
ステップS13において、「0度」に設定され、或いは「180度(ミラー)」に設定されたと判別されなかったとき(ステップS13:N)、「90度」に設定され、或いは「90度(ミラー)」に設定されたか否かを判別する(ステップS15)。
ステップS13において、「90度」に設定され、或いは「90度(ミラー)」に設定されたと判別されたとき(ステップS15:Y)、リードアドレスRDAにオフセットアドレスOAを加算してリードアドレスRDAを更新する(ステップS16)。ここでオフセットアドレスOAは、図10(A)〜(D)、図11(A)〜(D)に示したように、回転角度及びミラー機能イネーブル情報に応じてホストによって設定される。
ステップS15において、「90度」に設定され、或いは「90度(ミラー)」に設定されたと判別されなかったとき(ステップS15:N)、「180度」に設定され、或いは「0度(ミラー)」に設定されたか否かを判別する(ステップS17)。
ステップS17において、「180度」に設定され、或いは「0度(ミラー)」に設定されたと判別されたとき(ステップS17:Y)、リードアドレスRDAから1アドレスを減算してリードアドレスRDAを更新する(ステップS18)。
ステップS17において、「180度」に設定され、或いは「0度(ミラー)」に設定されたと判別されなかったとき(ステップS17:N)、「270度」に設定され、或いは「270度(ミラー)」に設定されたと判断する。そして、リードアドレスRDAからオフセットアドレスOAを減算してリードアドレスRDAを更新する(ステップS19)。
ステップS14、ステップS16、ステップS18及びステップS19に続いて、1ラインの読み出しが終了したか否かを判別する(ステップS20)。1ラインの読み出しが終了していないと判別されたとき(ステップS20:N)、ステップS11に戻って画像データの読み出しを続ける。
ステップS20において、1ラインの読み出しが終了したと判別されたとき(ステップS20:Y)、「0度」に設定され、或いは「0度(ミラー)」に設定されたか否かを判別する(ステップS21)。
ステップS21において、「0度」に設定され、或いは「0度(ミラー)」に設定されたと判別されたとき(ステップS21:Y)、変数LSAにオフセットアドレスOAを加算して変数LSAを更新すると共に、該変数LSAをリードアドレスRDAに設定する(ステップS22)。そして、ステップS11に戻る。
ステップS21において、「0度」に設定され、或いは「0度(ミラー)」に設定されたと判別されなかったとき(ステップS21:N)、「90度」に設定され、或いは「270度(ミラー)」に設定されたか否かを判別する(ステップS23)。
ステップS23において、「90度」に設定され、或いは「270度(ミラー)」に設定されたと判別されたとき(ステップS23:Y)、変数LSAから1アドレスを減算して変数LSAを更新すると共に、該変数LSAをリードアドレスRDAに設定する(ステップS24)。そして、ステップS11に戻る。
ステップS23において、「90度」に設定され、或いは「270度(ミラー)」に設定されたと判別されなかったとき(ステップS23:N)、「180度」に設定され、或いは「180度(ミラー)」に設定されたか否かを判別する(ステップS25)。
ステップS25において、「180度」に設定され、或いは「180度(ミラー)」に設定されたと判別されたとき(ステップS25:Y)、変数LSAからオフセットアドレスOAを減算して変数LSAを更新すると共に、該変数LSAをリードアドレスRDAに設定する(ステップS26)。そして、ステップS11に戻る。
ステップS25において、「180度」に設定され、或いは「180度(ミラー)」に設定されたと判別されなかったとき(ステップS25:N)、「270度」に設定され、或いは「90度(ミラー)」に設定されたと判断する。そして、変数LSAに1アドレスを加算して変数LSAを更新すると共に、該変数LSAをリードアドレスRDAに設定する(ステップS27)。そして、ステップS11に戻る。
読み出し制御回路34は、このような回転制御部40によって設定されたリードアドレスRDAを用いて、メモリ22から画像データを読み出す制御を行う。
なお図9乃至図13では、回転制御部40が、画像の向きの回転処理及び鏡像反転処理を行うものとして説明したが、回転処理及び鏡像反転処理のうち少なくとも1つを行うものでもよい。
以上説明した本実施形態では、メモリアドレス制御部36が、書き込み領域及び読み出し領域の更新を行っていたが、これに限定されるものではない。本実施形態の変形例では、ホスト10が、直接書き込み領域及び読み出し領域を設定する。
図14に、本実施形態の変形例における表示コントローラの構成例のブロック図を示す。但し、図2に示す表示コントローラ20と同一部分には同一符号を付し、適宜説明を省略する。変形例における表示コントローラ200もまた、図1に示す表示システムに適用できる。
表示コントローラ200が図2に示す表示コントローラ20と異なる点は、メモリアドレス制御部36に代えて割り込み発生回路210が設けられている点である。そして、割り込み発生回路210は、書き込み制御回路32からの書き込み完了信号のパルスを受けて、ホストI/F回路49を介してホスト10に対して書き込み完了割り込み(第1の割り込み)を通知する。また、割り込み発生回路210は、同期信号発生回路48からのVSYNC発生信号のパルスを受けて、ホストI/F回路49を介してホスト10に対してVSYNC発生割り込み(第2の割り込み)を通知する。
そして、これらの割り込みを通知されたホスト10が、ホストI/F回路49を介して書き込み領域設定レジスタ24(書き込み開始アドレスレジスタ26)及び読み出し領域設定レジスタ28(読み出し開始アドレスレジスタ30)の設定値を更新する。
図15に、変形例における表示コントローラ200に対して書き込み開始アドレスの更新等を行うホスト10の処理例を示す。
ホスト10のメモリに、図15に示す処理を実現するプログラムが格納される。ホスト10のCPUは、このプログラムを読み込んで、図15に示す処理を実現する。
まずホスト10は、メモリ22の書き込み領域を確保する処理を行う(ステップS40)。そして、ホスト10は、書き込み領域を指定する(ステップS41)。例えばホスト10は、図5に示すように3フレーム分の書き込み領域を確保する。そしてホスト10は、表示コントローラ200の書き込み領域設定レジスタ24に、1フレーム分の書き込み領域の書き込み開始アドレス及びサイズを設定する。
続いて、ホスト10は、読み出し領域を指定する(ステップS42)。例えばホスト10は、表示コントローラ200の読み出し領域設定レジスタ28に読み出し開始アドレス及びサイズを設定する。
その後、ホスト10は、表示コントローラ200からの書き込み完了割り込みの有無を監視する(ステップS43:N)。ホスト10が表示コントローラ200からの書き込み完了割り込みを通知されたとき(ステップS43:Y)、更に表示コントローラ200からのVSYNC発生割り込みの有無を監視する(ステップS44:N)。
ホスト10が表示コントローラ200からのVSYNC発生割り込みを通知されたとき(ステップS44:Y)、ホスト10は、書き込み領域設定レジスタ24の設定された現在の書き込み領域の設定情報と同じ内容の情報を、ホストI/F回路49を介して読み出し領域設定レジスタ28に設定して読み出し領域の指定を変更する(ステップS45)。
次にホスト10は、当該フレームの次のフレームの画像データの書き込み領域として予め決められた書き込み領域の書き込み開始アドレス及びサイズを書き込み領域設定レジスタ24に設定して、書き込み領域の指定を変更する(ステップS46)。
ここで所定の終了条件で処理を終了するとき(ステップS47:Y)、ホスト10は一連の処理を終了する(エンド)。一方、所定の終了条件を満たさずに処理を終了しないとき(ステップS47:N)、ステップS43に戻る。
なお図15のステップS40〜ステップS42の処理は、図2に示す表示コントローラ20に接続されたホスト10の処理と共通する。またステップS46の書き込み領域の指定も、ホスト10が行うことなく表示コントローラ200のハードウェア回路が予め設定された書き込み領域の設定情報に更新するようにしてもよい。
図16に、ホスト10と表示コントローラ200の動作例のシーケンス図を示す。
図16では、図15のステップS40〜ステップS42に示すホスト10の処理によって、予め書き込み領域の設定(SEQ1)、読み出し領域の設定(SEQ2)が行われているものとする。そしてホスト10は、表示コントローラ200に対し書き込み領域の設定(SEQ1)及び読み出し領域の設定(SEQ2)を行った後は、表示コントローラ200からの書き込み完了割り込みの有無を監視している(SEQ3)。
書き込み領域の設定(SEQ1)及び読み出し領域の設定(SEQ2)が行われた表示コントローラ200には、カメラモジュールから画像データが入力され、SEQ1で設定された書き込み領域に該画像データが格納される(SEQ4)。その一方で、SEQ3で設定された読み出し領域から画像データが読み出されて表示ドライバに供給されている。
カメラモジュールからの1フレーム分の画像データのメモリ22への書き込みが完了すると、ホスト10に対して書き込み完了割り込みを通知する(SEQ5)。
書き込み完了割り込みの有無を監視しているホスト10が、表示コントローラ200からの書き込み完了割り込みの通知を検出すると、ホスト10は引き続きVSYNC発生割り込みの有無を監視する(SEQ6)。
表示コントローラ200がホスト10に対して書き込み完了割り込みを通知後、1又は複数回のVSYNC発生信号を受信した割り込み発生回路210は、VSYNC発生割り込みをホスト10に通知する(SEQ7)。
VSYNC発生割り込みの有無を監視しているホスト10が、表示コントローラ200からのVSYNC発生割り込みの通知を検出すると、ホスト10が次の読み出し領域を指定する(SEQ8)。これにより、表示コントローラ200の読み出し領域設定レジスタ28には、次の読み出し領域が設定される(SEQ9)。続いてホスト10が次の書き込み領域を指定する(SEQ10)。これにより、表示コントローラ200の書き込み領域設定レジスタ24には、次の書き込み領域が設定される(SEQ11)。
図17に、変形例における表示コントローラ200の動作例のタイミング図を示す。
図17では、図6と同様に、カメラモジュールから15fpsのレートで画像データがメモリ22に書き込まれ、メモリ22から60fpsのレートで画像デーが読み出されるものとする。
書き込み制御回路32は、メモリ22の書き込み領域への1フレーム分の書き込みが完了したことを示す書き込み完了信号を、66.6(=1000/16)ミリ秒ごとに発生させる。この書き込み完了信号を受けた割り込み発生回路210は、書き込み完了割り込みをホスト10に通知する。
また同期信号発生回路48は、表示用の垂直同期信号VSYNCがアクティブになったことを示すVSYNC発生信号のパルスを、16.6(=1000/60)ミリ秒ごとに発生させる。このVSYNC発生信号のパルスを1又は複数回受けた割り込み発生回路210は、VSYNC発生割り込みをホスト10に通知する。
ここで図5に示すようにメモリ22の書き込み領域A、B、Cの各領域が設定されているものとする。書き込み領域Cに1フレーム分の画像データの書き込みが完了すると、書き込み完了割り込みE10が発生する。書き込み完了割り込みE10を発生させる書き込み完了割り込み信号により、書き込み領域が領域Aに変更される(E11)。ここでは、ホスト10ではなく表示コントローラ200内のハードウェア回路で書き込み領域が変更されるものとしている。
書き込み完了割り込みE10が発生した直後のVSYNC発生信号のパルスE12により、ホスト10が、書き込みが完了した書き込み領域の書き込み開始アドレス及びサイズを、次の読み出し領域の読み出し開始アドレス及びサイズとして設定する。このときホスト10が、読み出し開始アドレス及びサイズの設定のために複数回表示コントローラ200にアクセスする必要がある場合に備えて、VSYNC発生信号のパルスE12の次のVSYNC発生信号のパルスE13により、読み出し領域設定レジスタ28に、更新後の読み出し領域の読み出し開始アドレス及びサイズを設定する(E14)。
その後は、読み出し開始アドレスにより指定される読み出し領域Cから1フレーム分の画像データの読み出しが完了するまでの間、繰り返し読み出し領域Cからの画像データが表示ドライバ50に対して出力される。なお図17では、メモリ22に1フレームの画像データを書き込む速度が、回転後の画像データをメモリ22から読み出す速度より遅いため、次の書き込み完了割り込みE15が発生するまで、読み出し領域の更新が行われない。
以上のようにして、書き込み領域が完了した領域を、読み出し領域として更新していく。
3. 電子機器
図18に、本実施形態又はその変形例における表示コントローラが適用される電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
携帯電話機400は、カメラモジュール410を含む。カメラモジュール410は、CCDカメラを含み、CCDカメラで撮像した画像のデータを、YUVフォーマットで表示コントローラ402に供給する。表示コントローラ402として、本実施形態又は変形例における表示コントローラを採用できる。
携帯電話機400は、表示パネル420を含む。表示パネル420として、液晶表示パネルを採用できる。この場合、表示パネル420は、表示ドライバ430によって駆動される。表示パネル420は、複数の走査線、複数のデータ線、複数の画素を含む。表示ドライバ430は、複数の走査線の1又は複数本単位で走査線を選択する走査ドライバの機能を有すると共に、画像データに対応した電圧を複数のデータ線に供給するデータドライバの機能を有する。
表示コントローラ402は、表示ドライバ430に接続され、表示ドライバ430に対してRGBフォーマットの画像データを供給する。
ホスト440は、表示コントローラ402に接続される。ホスト440は、表示コントローラ402を制御する。またホスト440は、アンテナ460を介して受信された画像データを、変復調部450で復調した後、表示コントローラ402に供給できる。表示コントローラ402は、この画像データに基づき、表示ドライバ430により表示パネル420に表示させる。
ホスト440は、カメラモジュール410で生成された画像データを変復調部450で変調した後、アンテナ460を介して他の通信装置への送信を指示できる。
ホスト440は、操作入力部470からの操作情報に基づいて画像データの送受信処理、カメラモジュール410の撮像、表示パネルの表示処理を行う。
なお、図18では、表示パネル420として液晶表示パネルを例に説明したが、これに限定されるものではない。表示パネル420は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画像データを供給する表示コントローラに適用できる。
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば読み出し領域設定レジスタ28(読み出し開始アドレスレジスタ30)の設定値は、書き込み領域設定レジスタ24(書き込み開始アドレスレジスタ26)の設定値に更新されるため、ホストを介在させることなく本実施形態又は変形例における表示コントローラのハードウェア回路により処理させることも可能である。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
本実施形態における表示コントローラが適用された表示システムの構成例のブロック図。 本実施形態における表示コントローラの構成例のブロック図。 画像データの一例を示す説明図。 図3の画像データをメモリに格納した例の説明図。 書き込み領域毎に設けられた書き込み開始アドレスの説明図。 本実施形態における表示コントローラの動作例のタイミング図。 図2の同期信号発生回路の構成例のブロック図。 ドットクロック、垂直同期信号、水平同期信号及び画像データのタイミング関係の一例を示す図。 図2の回転制御部が行う回転制御の説明図。 図10(A)〜(D)は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。 図11(A)〜(D)は回転角度及びミラー機能イネーブル情報に応じたリード開始アドレス及びオフセットアドレスの設定例の説明図。 図2の回転制御部の動作フローの前半を示すフロー図。 図2の回転制御部の動作フローの後半を示すフロー図。 本実施形態の変形例における表示コントローラの構成例のブロック図。 変形例における表示コントローラに対して書き込み開始アドレスの更新等を行うホストの処理例を示すフロー図。 ホストと変形例における表示コントローラの動作例のシーケンス図。 変形例における表示コントローラの動作例のタイミング図。 本実施形態又は変形例における表示コントローラが適用された電子機器の構成例のブロック図
符号の説明
10 ホスト、12 画像取り込み部、20、200 表示コントローラ、
22 メモリ、24 書き込み領域設定レジスタ、
26 書き込み開始アドレスレジスタ、28 読み出し領域設定レジスタ、
30 読み出し開始アドレスレジスタ、32 書き込み制御回路、
34 読み出し制御回路、36 メモリアドレス制御部、40 回転制御部、
42 カメラI/F回路、44 YUV−RGBコンバータ、46 LCDI/F回路、
48 同期信号発生回路、49 ホストI/F回路、50 表示ドライバ、
60 表示パネル、100 表示システム、210 割り込み発生回路

Claims (13)

  1. 表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、
    少なくとも3フレーム分の画像データを記憶するメモリと、
    画像データを前記メモリに書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタと、
    前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタと、
    前記メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部と、
    1フレームの走査期間を規定する垂直同期信号を発生する同期信号発生回路とを含み、
    前記メモリへの画像データの書き込みレートが、前記メモリからの画像データの読み出しレートと異なり、
    前記垂直同期信号に同期して前記画像データを前記表示ドライバに供給する場合に、前記書き込み開始アドレスにより指定される領域への画像データの書き込みが完了した後、前記垂直同期信号が少なくとも2回アクティブになったことを条件に、前記書き込み開始アドレスレジスタに設定された前記書き込み開始アドレスを次のフレームの画像データを書き込むための書き込み開始アドレスに更新すると共に、前記読み出し開始アドレスとして更新前の前記書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定し、
    前記読み出し開始アドレスにより指定される前記メモリの領域から前記回転制御部によって読み出された回転後の画像データを、前記表示ドライバに供給することを特徴とする表示コントローラ。
  2. 請求項1において、
    前記読み出し開始アドレスにより指定される前記メモリの領域から1フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しないことを特徴とする表示コントローラ。
  3. 請求項1又は2において、
    前記メモリに1フレームの画像データを書き込む速度が、
    前記回転後の画像データを前記メモリから読み出す速度より遅いことを特徴とする表示コントローラ。
  4. 請求項1乃至3のいずれかにおいて、
    前記書き込み開始アドレスレジスタには、前記メモリの各フレームの書き込み領域毎に書き込み開始アドレスが設定され、前記画像データの書き込み時にいずれか1つが選択されることを特徴とする表示コントローラ。
  5. 請求項1乃至4のいずれかにおいて、
    ホストとの間のインタフェース処理を行うホストインタフェースを含み、
    前記ホストに対して前記画像データの書き込みが完了したことを示す第1の割り込みを通知し、
    前記第1の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
  6. 請求項5において、
    前記第1の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、更新後の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
  7. 表示パネルを駆動する表示ドライバに画像データを供給するための表示コントローラであって、
    少なくとも3フレーム分の画像データを記憶するメモリと、
    画像データを前記メモリに書き込むための書き込み開始アドレスが設定される書き込み開始アドレスレジスタと、
    前記表示ドライバに供給する画像データを前記メモリから読み出すための読み出し開始アドレスが設定される読み出し開始アドレスレジスタと、
    前記メモリに格納された各画素の画像データを回転角度に対応した読み出し順序で読み出すことで、画像の向きを回転させた回転後の画像データを読み出すための制御を行う回転制御部と、
    ホストとの間のインタフェース処理を行うホストインタフェースとを含み、
    前記メモリへの画像データの書き込みレートが、前記メモリからの画像データの読み出しレートと異なり、
    前記ホストに対して前記画像データの書き込みが完了したことを示す第1の割り込みを通知すると共に、前記ホストに対して前記垂直同期信号がアクティブになったことを示す第2の割り込みを通知し、
    前記第1の割り込みを通知された前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されると共に、前記第1及び第2の割り込みが通知されたことを条件に、前記ホストによって、前記ホストインタフェースを介して、前記読み出し開始アドレスとして前記更新前の書き込み開始アドレスが供給されることを特徴とする表示コントローラ。
  8. 請求項1乃至7のいずれかにおいて、
    前記メモリから読み出された画像データを前記表示ドライバに供給するための表示ドライバインタフェースを含むことを特徴とする表示コントローラ。
  9. 表示パネルと、
    請求項1乃至8のいずれか記載の表示コントローラと、
    前記表示コントローラによって供給される画像データに基づいて前記表示パネルを駆動する表示ドライバとを含むことを特徴とする電子機器。
  10. 請求項9において、
    前記表示コントローラとの間で画像データの入出力を行うホストを含むことを特徴とする電子機器。
  11. 表示パネルを駆動する表示ドライバに画像データを供給するための画像データ供給方法であって、
    少なくとも3フレーム分の画像データを記憶するメモリの領域のうち、書き込み開始アドレスレジスタに設定された書き込み開始アドレスにより指定される領域に画像データを書き込み、
    1フレームの走査期間を規定する垂直同期信号に同期して前記表示ドライバに対して前記画像データを供給する場合に、前記画像データの書き込みが完了した後、前記垂直同期信号が2回アクティブになったとき、前記読み出し開始アドレスとして前記書き込み開始アドレスを、前記垂直同期信号に同期して前記読み出し開始アドレスレジスタに設定し、
    前記読み出し開始アドレスレジスタに設定された前記読み出し開始アドレスにより指定される前記メモリの領域から各画素の画像データを回転角度に対応した読み出し順序で読み出し、画像の向きを回転させた回転後の画像データとして前記表示ドライバに供給し、
    前記メモリへの画像データの書き込みレートが、前記メモリからの画像データの読み出しレートと異なることを特徴とする画像データ供給方法。
  12. 請求項11において、
    前記読み出し開始アドレスにより指定される前記メモリの領域から1フレーム分の画像データの読み出しが完了するまで、前記読み出し開始アドレスを更新しないことを特徴とする画像データ供給方法。
  13. 請求項11又は12において、
    前記メモリに1フレームの画像データを書き込む速度が、
    前記回転後の画像データを前記メモリから読み出す速度より遅いことを特徴とする画像データ供給方法。
JP2004197611A 2004-07-05 2004-07-05 表示コントローラ、電子機器及び画像データ供給方法 Expired - Fee Related JP4003762B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004197611A JP4003762B2 (ja) 2004-07-05 2004-07-05 表示コントローラ、電子機器及び画像データ供給方法
US11/175,122 US7667708B2 (en) 2004-07-05 2005-07-05 Display controller, electronic instrument, and method of supplying image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004197611A JP4003762B2 (ja) 2004-07-05 2004-07-05 表示コントローラ、電子機器及び画像データ供給方法

Publications (2)

Publication Number Publication Date
JP2006020193A JP2006020193A (ja) 2006-01-19
JP4003762B2 true JP4003762B2 (ja) 2007-11-07

Family

ID=35513372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004197611A Expired - Fee Related JP4003762B2 (ja) 2004-07-05 2004-07-05 表示コントローラ、電子機器及び画像データ供給方法

Country Status (2)

Country Link
US (1) US7667708B2 (ja)
JP (1) JP4003762B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651938B1 (ko) * 2004-08-16 2006-12-06 엘지전자 주식회사 영상 배향 제어장치, 방법 및 매체
US10878646B2 (en) 2005-12-08 2020-12-29 Smartdrive Systems, Inc. Vehicle event recorder systems
US20070150138A1 (en) * 2005-12-08 2007-06-28 James Plante Memory management in event recording systems
US9201842B2 (en) 2006-03-16 2015-12-01 Smartdrive Systems, Inc. Vehicle event recorder systems and networks having integrated cellular wireless communications systems
US8996240B2 (en) 2006-03-16 2015-03-31 Smartdrive Systems, Inc. Vehicle event recorders with integrated web server
US8989959B2 (en) 2006-11-07 2015-03-24 Smartdrive Systems, Inc. Vehicle operator performance history recording, scoring and reporting systems
US8649933B2 (en) 2006-11-07 2014-02-11 Smartdrive Systems Inc. Power management systems for automotive video event recorders
US8868288B2 (en) 2006-11-09 2014-10-21 Smartdrive Systems, Inc. Vehicle exception event management systems
US8035401B2 (en) * 2007-04-18 2011-10-11 Cypress Semiconductor Corporation Self-calibrating driver for charging a capacitive load to a desired voltage
US8239092B2 (en) 2007-05-08 2012-08-07 Smartdrive Systems Inc. Distributed vehicle event recorder systems having a portable memory data transfer system
JP2011013632A (ja) * 2009-07-06 2011-01-20 Renesas Electronics Corp 表示装置、画像表示方法
JP5600517B2 (ja) 2010-08-18 2014-10-01 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP5754208B2 (ja) * 2011-03-29 2015-07-29 富士通株式会社 画像処理装置、画像処理システム、及びバンク管理方法
US9728228B2 (en) 2012-08-10 2017-08-08 Smartdrive Systems, Inc. Vehicle event playback apparatus and methods
US9900548B2 (en) 2012-08-24 2018-02-20 Nxp Usa, Inc. Display control unit and method for generating a video signal
US9501878B2 (en) 2013-10-16 2016-11-22 Smartdrive Systems, Inc. Vehicle event playback apparatus and methods
US9610955B2 (en) 2013-11-11 2017-04-04 Smartdrive Systems, Inc. Vehicle fuel consumption monitor and feedback systems
US8892310B1 (en) 2014-02-21 2014-11-18 Smartdrive Systems, Inc. System and method to detect execution of driving maneuvers
US9663127B2 (en) 2014-10-28 2017-05-30 Smartdrive Systems, Inc. Rail vehicle event detection and recording system
US11069257B2 (en) 2014-11-13 2021-07-20 Smartdrive Systems, Inc. System and method for detecting a vehicle event and generating review criteria
US9679420B2 (en) 2015-04-01 2017-06-13 Smartdrive Systems, Inc. Vehicle event recording system and method
CN115225892A (zh) * 2022-07-18 2022-10-21 科大讯飞股份有限公司 误码信息确定方法、接口转换控制器、介质及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319786A (en) * 1987-05-20 1994-06-07 Hudson Soft Co., Ltd. Apparatus for controlling a scanning type video display to be divided into plural display regions
JPH06105290A (ja) 1992-09-18 1994-04-15 Toshiba Medical Eng Co Ltd 画像信号走査変換装置およびx線診断装置
JPH06154209A (ja) 1992-11-19 1994-06-03 Shimadzu Corp 超音波診断装置
JPH0730809A (ja) 1993-07-13 1995-01-31 Sanyo Electric Co Ltd ワイドアスペクト比映像の表示システム
JP2970529B2 (ja) * 1996-05-08 1999-11-02 富士ゼロックス株式会社 画像処理装置
JPH1139229A (ja) 1997-07-15 1999-02-12 Fuji Photo Film Co Ltd 画像処理装置
JP4156716B2 (ja) 1998-08-28 2008-09-24 アロカ株式会社 超音波診断装置
JP2003224862A (ja) 2002-01-29 2003-08-08 Nec Access Technica Ltd グラフィックコントローラ及び表示メモリ容量低減方式
JP2003324644A (ja) * 2002-05-07 2003-11-14 Canon Inc 映像信号処理装置、画像表示制御方法、記憶媒体、及びプログラム

Also Published As

Publication number Publication date
JP2006020193A (ja) 2006-01-19
US7667708B2 (en) 2010-02-23
US20060001671A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
JP4003762B2 (ja) 表示コントローラ、電子機器及び画像データ供給方法
JP3749147B2 (ja) 表示装置
EP2619653B1 (en) Techniques to transmit commands to a target device
US7701472B2 (en) Display controller, electronic device, and method of supplying image data
US20020140685A1 (en) Display control apparatus and method
US20050062745A1 (en) Video output controller and video card
JP4992140B2 (ja) 表示装置駆動用方法、表示装置駆動システム及び機械読取り自在記憶媒体
US20070139445A1 (en) Method and apparatus for displaying rotated images
JP6730325B2 (ja) 端末の切り替え表示方法及び端末
US6340959B1 (en) Display control circuit
US20080084406A1 (en) Method of automatically recovering bit values of control register and lcd drive integrated circuit for performing the same
US9710049B2 (en) Display device, method of driving a display device, and display system
US9542721B2 (en) Display control device and data processing system
JP2006174334A (ja) 表示コントローラ、電子機器及び画像データ供給方法
CN108780348B (zh) 图像传输装置、图像传输系统、和控制图像传输装置的方法
EP1484737A1 (en) Display controller
JP2011077970A (ja) 画像処理装置、画像表示システム、電子機器及び画像処理方法
JP2006011074A (ja) 表示コントローラ、電子機器及び画像データ供給方法
JP2011259107A (ja) 投影装置及びその制御方法
JPH11167096A (ja) 表示制御装置及びその方法
CN114995944B (zh) 一种分辨率自适应缩放显示方法及显卡驱动模块
JP2008245301A (ja) 表示パネル、電子機器及び画像データ準備方法
US7046227B2 (en) System and method for continuously tracing transfer rectangles for image data transfers
JP2006303623A (ja) 画像処理コントローラ、電子機器及び画像処理方法
JPH0594158A (ja) マイクロコンピユータ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070709

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070813

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4003762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees