JP2006301724A - メモリコントローラ、画像処理コントローラ及び電子機器 - Google Patents

メモリコントローラ、画像処理コントローラ及び電子機器 Download PDF

Info

Publication number
JP2006301724A
JP2006301724A JP2005118728A JP2005118728A JP2006301724A JP 2006301724 A JP2006301724 A JP 2006301724A JP 2005118728 A JP2005118728 A JP 2005118728A JP 2005118728 A JP2005118728 A JP 2005118728A JP 2006301724 A JP2006301724 A JP 2006301724A
Authority
JP
Japan
Prior art keywords
memory
read
write
data
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005118728A
Other languages
English (en)
Inventor
Tei Hayashi
禎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005118728A priority Critical patent/JP2006301724A/ja
Priority to US11/397,600 priority patent/US20060236012A1/en
Publication of JP2006301724A publication Critical patent/JP2006301724A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

【課題】 機能モジュールの数に関係なく、各機能モジュールから要求されるデータ転送のスループットを向上させるメモリコントローラ等を提供する。
【解決手段】 第1〜第N(Nは2以上の整数)の機能モジュールによりメモリをアクセスするためのメモリコントローラ300は、アクセス要求に応じてメモリのデータ転送要求を行う第1〜第M(1<M≦N、Mは整数)のデータ転送制御部と、1つの機能モジュールからのアクセス要求を第1〜第Mのデータ転送制御部のいずれかに供給するためのクロスバスイッチ部330と、第1〜第Mのデータ転送制御部のデータ転送要求を調停するアービタ340と、調停後のデータ転送要求に基づいてメモリにアクセスするためのメモリインタフェース320とを含む。各データ転送制御部が、メモリへのアクセスアドレスを生成し、アクセスアドレスを用いてメモリへのアクセス制御を行う。
【選択図】 図2

Description

本発明は、メモリコントローラ、画像処理コントローラ及び電子機器に関する。
従来より、表示システムの制御を司るホストの処理負荷を軽減するために、液晶表示(Liquid Crystal Panel:以下、LCDと略す)パネルやCRT等の表示装置の画面に表示させる画像の加工等の画像処理をホストに代行する画像処理コントローラがある。画像処理コントローラは、表示メモリ(広義にはメモリ)を用いて画像処理を行う。
特許文献1に開示されているように、表示メモリの機能が、シンクロナスDRAM(Synchronous Dynamic Random Access Memory:以下、SDRAMと略す)により実現されることがある。このSDRAMが複数の機能モジュール(処理モジュール、処理部)によってアクセスされる場合、SDRAMコントローラが各機能モジュールとの間でアドレス、データ、制御信号をやり取りすることで、SDRAMへのアクセス制御を行う。
特許文献1では、パターンネームアドレス生成手段によって生成されたパターンネームアドレスに基づいてSDRAMからパターンネームデータが読み出される。そして、該パターンネームデータに基づいて、更にキャラクタデータアドレス生成手段によりキャラクタデータのアドレスが生成され、該アドレスに基づいてSDRAMからキャラクタデータが読み出される。
特開平8−115069号公報
しかしながら、SDRAMコントローラは、パターンネームアドレス生成手段やキャラクタデータアドレス生成手段等を含む機能モジュールがアドレスを出力するまで、SDRAMにアクセスできない。そのため、機能モジュールがアドレスを生成してSDRAMにアクセス要求を行う場合、リードアクセス動作時やライトアクセス動作時に、機能モジュールが次の動作に移行できない期間が生じ、スループットを低下させてしまう。
図17及び図18に、機能モジュールが次の動作に移行できない期間の例を説明する図を示す。図17は、ライトアクセス動作時において、機能モジュールが次の動作に移行できない期間T1を示す。図18は、リードアクセス動作時において、機能モジュールが次の動作に移行できない期間T2を示す。
ライトアクセス動作時には、機能モジュールは、ライト要求WRReqをアクティブにすると共にライトアドレスを出力する。一般的に、機能モジュールは、該ライト要求WRReqに対応してSDRAMコントローラが出力したライト承認WRAckを受け取るまでライトアドレスを出力し続ける必要がある。そのため、図17の期間T1では、この機能モジュールは、SDRAMに対して次のアクセス要求を行うことができない。
リードアクセス動作時には、機能モジュールは、リード要求RDReqをアクティブにすると共にリードアドレスを出力する。この場合、リード要求RDReqに対応してSDRAMコントローラが出力したリード承認RDAckを受け取るまでリードアドレスを出力し続ける必要がある。リード承認RDAckがアクティブになった後、遅延時間T2が経過した後にリードデータが出力されるため、この機能モジュールは、図18の期間T2では、SDRAMに対して次のアクセス要求を行うことができない。
また、このようなスループットを低下させる複数の機能モジュールからSDRAMに対してアクセス要求があった場合を考慮すると、機能モジュール間でアクセスエリアの状態を把握する必要があり、機能モジュール間でやり取りされる信号の組合せが多くなってしまう。特に、機能モジュールが追加されてしまうと、より一層複雑な信号の組合せが必要となる。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、機能モジュールの数に関係なく、汎用的なメモリインタフェースで各機能モジュールから要求されるアクセスのスループットを向上させるメモリコントローラ、画像処理コントローラ及び電子機器を提供することにある。
上記課題を解決するために本発明は、
第1〜第N(Nは2以上の整数)の機能モジュールによりメモリをアクセスするためのメモリコントローラであって、
各データ転送制御部へのアクセス要求に応じて前記メモリのデータ転送要求を行う第1〜第M(1<M≦N、Mは整数)のデータ転送制御部と、
前記第1〜第Nの機能モジュールの1つの機能モジュールからのアクセス要求を、前記第1〜第Mのデータ転送制御部のいずれかに供給するためのクロスバスイッチ部と、
前記第1〜第Mのデータ転送制御部のデータ転送要求を調停するアービタと、
前記アービタによって調停された前記第1〜第Mのデータ転送制御部の1つのデータ転送制御部のデータ転送要求に基づいて前記メモリにアクセスするためのメモリインタフェースとを含み、
各データ転送制御部が、
各データ転送制御部へのアクセス要求に基づいて、前記メモリへのアクセスアドレスを生成すると共に、
前記アービタによって調停された結果、前記メモリに対するデータ転送要求が許可されたとき、前記アクセスアドレスを用いて前記メモリからのデータの読み出し制御、又は前記メモリへのデータの書き込み制御を行うメモリコントローラに関係する。
本発明においては、第1〜第Nの機能モジュールの各機能モジュールとメモリとの間のインタフェース処理を行うことができる。これにより、各機能モジュールのインタフェースに関係なく、メモリのインタフェースを汎用的なメモリインタフェースにでき、この汎用的なメモリインタフェースで、複数の機能モジュールからアクセスできるようになる。
更に本発明においては、機能モジュール側ではなくメモリコントローラ側でアクセスアドレスを生成するようにしたので、アクセスアドレスを出力した直後に該機能モジュールが次の動作に移れないという事態を回避できるようになる。そのため、メモリに対するアクセス動作時における各機能モジュールの無駄な動作時間を省略でき、処理のスループットを向上させることができる。
また本発明においては、複数のデータ転送制御部を含み、クロスバスイッチ部により、機能モジュールからのアクセス要求をいずれかのデータ転送制御部に供給できるようにした。これにより、メモリに対し、複数のデータ転送制御部から同時にアクセス要求を行ったときの調停に必要な信号のやり取りは、メモリコントローラ側で行うことができる。そのため、機能モジュールを追加した場合に、機能モジュール間でやり取りされる信号線を追加する必要がなくなると共に機能モジュールの追加が容易となり、拡張性の高いメモリコントローラを提供できる。
また本発明に係るメモリコントローラでは、
前記メモリの記憶エリアに設定された複数のエリアを用いて、データのアクセスを行う場合に、
各データ転送制御部が、
前記メモリにデータを書き込むためのライトアドレスを前記アクセスアドレスとして生成するライトアドレス生成部と、
前記メモリからデータを読み出すためのリードアドレスを前記アクセスアドレスとして生成するリードアドレス生成部とを含み、
前記リードアドレス生成部が、
前記メモリのライトエリア情報により指定されるエリアとは異なる前記メモリのエリアからデータを読み出すためのリードアドレスを生成し、
前記ライトエリア情報が、
前記ライトアドレスに基づいて前記データが書き込まれる前記メモリのエリアを指定する情報であってもよい。
本発明においては、各データ転送制御部がライトアドレス生成部及びリードアドレス生成部を含み、各アドレス生成部が独立に機能モジュールからのアクセス要求を受け付けるようにする。その一方、リードアドレス生成部がライトアドレス生成部によりアクセスされるライトエリア情報を参照してリードアドレスを生成できるようにしている。これにより、ダブルバッファリング方式やトリプルバッファリング方式で機能モジュールがメモリにアクセスする場合、機能モジュール側でメモリのエリアを判別する必要がなくなり、各機能モジュールはバッファリング方式を意識する必要がなくなる。
また本発明に係るメモリコントローラでは、
前記メモリが、画像データを記憶する表示メモリとして機能し、
各データ転送制御部が、
前記メモリから前記画像データを読み出すためのリードアドレスを、前記アクセスアドレスとして生成するリードアドレス生成部と、
前記メモリから読み出された画像データをキューイングするリードデータキューと、
前記メモリから読み出された画像データの画素数をカウントして、該画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号を生成するリード同期管理部とを含み、
前記リードアドレス生成部が、
前記リード同期管理部によって生成された同期信号に基づいて更新される前記リードアドレスを生成することができる。
本発明においては、各データ転送制御部でデータ等をキューイングするようにしたので、各機能モジュールからのアクセス要求とメモリへのアクセス要求の調停とのタイミングが分離される。その結果、メモリにアクセスする画像のブランキング期間と実際に表示される画像のブランキング期間とは時間的なずれが生じる。従って、本発明では、メモリのデータ転送が、実質的に表示画像のブランキング期間にも行われていることになり、データ転送のスループットの向上に寄与させることができる。
また本発明に係るメモリコントローラでは、
前記メモリが、画像データを記憶する表示メモリとして機能し、
各データ転送制御部が、
前記画像データをメモリに書き込むためのライトアドレスを、前記アクセスアドレスとして生成するライトアドレス生成部と、
前記メモリに書き込まれる画像データをキューイングするライトデータキューと、
前記メモリに書き込まれる画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号をキューイングするライト同期キューとを含み、
前記ライトアドレス生成部が、
前記ライト同期キューから出力された同期信号に基づいて、前記垂直表示期間の開始タイミングでロードされ、且つ前記ライトデータキューのキューイング状態に応じて更新される前記ライトアドレスを生成すると共に、
前記ライト同期キューから出力された同期信号に基づいて、前記水平表示期間の終了タイミングで、次の水平表示期間の画像データを書き込むためのアドレスに更新される前記ライトアドレスを生成することができる。
また本発明に係るメモリコントローラでは、
前記メモリの記憶エリアに設定された複数のエリアを用いて、データのアクセスを行う場合に、
各データ転送制御部が、
前記メモリから前記画像データを読み出すためのリードアドレスを、前記アクセスアドレスとして生成するリードアドレス生成部と、
前記メモリから読み出された画像データをキューイングするリードデータキューと、
前記メモリから読み出された画像データの画素数をカウントして、該画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号を生成するリード同期管理部とを含み、
前記リードアドレス生成部が、
前記メモリのライトエリア情報で指定されるエリアとは異なる前記メモリのエリアから前記画像データを読み出すためであって、前記リード同期管理部によって生成された同期信号に基づいて更新される前記リードアドレスを生成し、
前記ライトエリア情報が、
前記ライトアドレスに基づいて前記データが書き込まれる前記メモリのエリアを指定する情報であってもよい。
また本発明に係るメモリコントローラでは、
前記ライト同期キューが、
前記画像の水平表示期間及び垂直表示期間の少なくとも1つの開始タイミングを示す1ビットのスタート情報と終了タイミングを示す1ビットのエンド情報とを、前記同期信号としてキューイングすることができる。
また本発明に係るメモリコントローラでは、
前記ライトデータキューが、
前記メモリのデータバス幅に対応したデータ量を1ブロックとする所定のブロック数のデータ量の画像データをキューイングし、
前記ライト同期キューが、
前記1ブロック毎に前記同期信号をキューイングすることができる。
また本発明は、
各機能モジュールがメモリに対してアクセス要求を行う第1〜第Nの機能モジュールと、
上記のいずれか記載のメモリコントローラと、
前記メモリコントローラによってアクセス制御されるメモリとを含む画像処理コントローラに関係する。
また本発明は、
画像データを入力するための画像データ入力インタフェースと、
上記のいずれか記載のメモリコントローラと、
前記メモリコントローラによってアクセス制御される表示メモリと、
前記表示メモリに記憶される画像データの回転処理を行う回転処理部と、
前記表示メモリから読み出された画像データを出力するための画像データ出力インタフェースとを含み、
前記回転処理部が、
前記メモリコントローラに対してリード要求を行って前記表示メモリから画像データを読み出した後、前記メモリコントローラに対してライト要求を行って、該画像データに対して行った回転処理後の画像データを前記表示メモリに書き込む画像処理コントローラに関係する。
また本発明に係る画像処理コントローラでは、
前記表示メモリの記憶領域が、
トリプルバッファ領域と、
ダブルバッファ領域とを含み、
前記トリプルバッファ領域が、
前記画像データ入力インタフェースと前記回転処理部とによってアクセスされ、
前記ダブルバッファ領域が、
前記回転処理部と前記画像データ出力インタフェースとによってアクセスされてもよい。
これらのいずれかの発明によれば、機能モジュールの数に関係なく、汎用的なメモリインタフェースで各機能モジュールから要求されるアクセスのスループットを向上させるメモリコントローラを含む画像処理コントローラを提供できる。
また本発明は、
表示装置と、
上記のいずれか記載の画像処理コントローラと、
前記画像処理コントローラによって供給される画像データに基づいて前記表示装置を駆動する表示ドライバとを含む電子機器に関係する。
本発明によれば、機能モジュールの数に関係なく、汎用的なメモリインタフェースで各機能モジュールから要求されるアクセスのスループットを向上させるメモリコントローラを含む電子機器を提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
1. 画像処理コントローラ
図1に、本実施形態における画像処理コントローラの構成の概要を示すブロック図を示す。
本実施形態における画像処理コントローラ100は、静止画又は動画の画像データを記憶する表示メモリ200を含み、表示メモリ200を用いて画像データに対して画像処理を行う。より具体的には、画像処理コントローラ100は、更に第1〜第N(Nは2以上の整数)の機能モジュール110−1〜110−Nを含み、第1〜第Nの機能モジュール110−1〜110−Nのいずれかが表示メモリ200にアクセスしながら画像データに対する画像処理を行う。このような機能モジュールとしては、例えば画像の回転処理を行う回転処理部、画像データの圧縮処理や伸張処理を行う画像データ圧縮伸張処理部、画像サイズの縮小処理や拡大処理を行うリサイザ等があり、画像処理コントローラ100の外部装置とのインタフェース処理を行うインタフェース回路もまた機能モジュールとして採用できる。
また画像処理コントローラ100では、第1〜第Nの機能モジュール110−1〜110−Nの表示メモリ200に対するアクセス制御(ライト制御、リード制御)を行うメモリコントローラ300を含む。メモリコントローラ300は、表示メモリ200のインタフェース仕様(信号の種類、信号のタイミング、信号の電気的特性等)と第1〜第Nの機能モジュール110−1〜110−Nの各機能モジュールのインタフェース仕様との違いを吸収し、第1〜第Nの機能モジュール110−1〜110−Nのいずれかの表示メモリ200に対するアクセスを実現させる。そのため、メモリコントローラ300は、表示メモリ200とメモリコントローラ300との間のインタフェース処理を行うことができる。またメモリコントローラ300は、第1〜第Nの機能モジュール110−1〜110−Nの各機能モジュールとメモリコントローラ300との間のインタフェース処理を行うことができる。これにより、各機能モジュールのインタフェースに関係なく、表示メモリ200のインタフェースを汎用的なメモリインタフェースにでき、この汎用的なメモリインタフェースで、複数の機能モジュールからアクセスできるようになる。
第1〜第Nの機能モジュール110−1〜110−Nの各機能モジュールは、メモリコントローラ300に対してアクセス要求(ライト要求、リード要求)を行い、メモリコントローラ300が該アクセス要求に対してアクセス承認(ライト承認、リード承認)を返す、いわゆるハンドシェイク方式で信号のやり取りを行う。
またメモリコントローラ300は、第1〜第Nの機能モジュール110−1〜110−Nからのアクセス要求(ライト要求、リード要求)を調停することができる。そのため第1〜第Nの機能モジュール110−1〜110−Nのうち複数の機能モジュールから同時に表示メモリ200に対するアクセス要求が発生した場合、複数のアクセス要求を調停し、調停した結果、許可された機能モジュールのアクセス要求に対応したアクセスを実現させる。
即ち、各機能モジュールは、アクセス要求Req(ライト要求WRReq、リード要求RDReq)、同期信号(垂直表示期間及び水平表示期間を規定する信号)及びライト時はデータをメモリコントローラ300に対して出力する。メモリコントローラ300は、アクセス要求Req及び同期信号等を受け付けると、アクセス要求を行った機能モジュールに対してアクセス承認Ack(ライト承認WRAck、リード承認RDAck)を返す。その後、メモリコントローラ300は、第1〜第Nの機能モジュール110−1〜110−Nのアクセス要求を調停し、第1〜第Nの機能モジュール110−1〜110−Nのいずれかのアクセス要求に応じて、表示メモリ200のアクセスアドレス(ライトアドレス、リードアドレス)を生成し、該アクセスアドレス、アクセスを行うための制御信号及び必要な場合にはデータを表示メモリ200に出力して、表示メモリ200に対するアクセス制御を行う。
このように画像処理コントローラ100では、アクセス要求を行う第1〜第Nの機能モジュール110−1〜110−Nが、表示メモリ200にアクセスするためのアクセスアドレスを生成することなく、アクセス要求Req及びデータを送るのみである。従って、各機能モジュールは、表示メモリ200に対するアクセス要求を行った直後に、次の動作を実行できるようになる。そのため、表示メモリ200に対するアクセス動作時における各機能モジュールの無駄な動作時間を省略でき、処理のスループットを向上させることができる。
2. メモリコントローラ
図2に、図1のメモリコントローラ300の構成の概要のブロック図を示す。
なおメモリコントローラ300の構成は図2に示すすべてのブロックを含むものに限定されるものではなく、図2の少なくとも一部が省略された構成を有するものであってもよい。
メモリコントローラ300は、第1〜第Nのモジュールインタフェース(InterFace:以下、I/Fと略す)310−1〜310−Nと、メモリI/F320とを含む。第1〜第NのモジュールI/F310−1〜310−Nの各モジュールI/Fは、第1〜第Nの機能モジュール110−1〜110−Nの各機能モジュールに接続され、各機能モジュールとメモリコントローラ300との間のインタフェース処理を行う。メモリI/F320は、表示メモリ200とメモリコントローラ300との間のインタフェース処理を行う。
メモリコントローラ300は、更に、DMA(Direct Memory Access)コントローラ400−1〜400−M(1<M≦N、Mは整数)(第1〜第Mのデータ転送制御部)と、クロスバスイッチ部330と、アービタ340とを含む。
DMAコントローラ400−1〜400−Mの各DMAコントローラは、各DMAコントローラへのアクセス要求に応じて表示メモリ200のデータ転送要求を行う。クロスバスイッチ部330は、第1〜第Nの機能モジュール110−1〜110−Nの1つの機能モジュールのアクセス要求を、DMAコントローラ400−1〜400−Mのいずれかに供給する。アービタ340は、DMAコントローラ400−1〜400−Mからのデータ転送要求を調停する。そして、メモリI/F320は、アービタ340によって調停されたDMAコントローラ400−1〜400−Mの1つのDMAコントローラのデータ転送要求に基づいて、表示メモリ200にアクセスするためのインタフェース処理を行う。
このとき、各DMAコントローラが、各DMAコントローラへのアクセス要求に基づいて、表示メモリ200へのアクセスアドレスを生成する。またアービタ340によって調停された結果、表示メモリ200に対するデータ転送要求が許可されたとき、各DMAコントローラは、上記のアクセスアドレスを用いて表示メモリ200からの画像データの読み出し制御、又は表示メモリ200への画像データの書き込み制御を行う。
このためメモリコントローラ300は、コンフィギュレーションレジスタ350を含むことができる。コンフィギュレーションレジスタ350には、図示しないホストにより設定データが設定される。このようなコンフィギュレーションレジスタ350の設定データに基づいて、クロスバスイッチ部330は、DMAコントローラ400−1〜400−Mの各DMAコントローラに、第1〜第NのモジュールI/F310−1〜310−Nのいずれかからのアクセス要求が供給されるようにスイッチの接続制御を行う。またコンフィギュレーションレジスタ350の設定データに基づいて、DMAコントローラ400−1〜400−Mの各DMAコントローラでは、そのデータ転送の方向(ライト又はリード)が定められると共に、スタートアドレスやアドレスの更新単位が定められてアクセスアドレスが生成される。
このようなコンフィギュレーションレジスタ350でスイッチの接続制御が行われるクロスバスイッチ部330を設けることで、機能モジュールの数に関係なく、各機能モジュールからのアクセス要求に応じて表示メモリ200のデータ転送を行うことができる。また、容易に機能モジュールを追加することができる。
図3に、本実施形態における同期信号の説明図を示す。
本実施形態における同期信号は、VACT、HACTを含む。VACTは、画像の垂直表示期間を規定する信号であり、水平表示期間が有効な期間にアクティブとなる。従って、VACTにより、1垂直走査期間もまた規定することができる。垂直表示期間は、画像の有効ライン(有効画素(表示画素)を含むライン)を含む期間である。
HACTは、画像の水平表示期間を規定する信号であり、画像データが有効な期間にアクティブとなる。従って、HACTにより1水平走査期間もまた規定することができる。水平表示期間は、画像の1ラインの有効画素(表示画素)を含む期間である。
図4に、本実施形態において機能モジュールがDMAコントローラに対してライト要求を行う場合の動作タイミングの一例を示す。
図4では、コンフィギュレーションレジスタ350の設定データに基づいて、クロスバスイッチ部330が、第1の機能モジュール110−1からのライト要求をDMAコントローラ400−Mに出力する場合のタイミングの一例を示す。
第1の機能モジュール110−1は、システムクロックCLKに同期してVACT及びHACTをアクティブにする。そして第1の機能モジュール110−1は、DMAコントローラ400−Mに対するライト要求WRReqをアクティブにすると共に、ライトデータWRDTを出力する。このVACT、HACT及びライト要求WRReqは、クロスバスイッチ部330により、DMAコントローラ400−Mに対し、第1の機能モジュール110−1からのデータ転送要求として送られる。
DMAコントローラ400−Mは、VACT、HACT、ライト要求WRReq及びライトデータWRDTをキューイングし、ライト要求WRReqがアクティブになると、ライト承認WRAckをアクティブにして第1の機能モジュール110−1に返す。DMAコントローラ400−Mは、VACT及びHACTがアクティブのときライトデータWRDTをキューイングしていく。その後、ライトするデータがなくなると、第1の機能モジュール110−1は、HACTを非アクティブにした後、ライト要求WRReqを非アクティブにする。これを受けたDMAコントローラ400−Mは、ライト承認WRAckを非アクティブにして返す。以上のようにして第1の機能モジュール110−1は、1フレーム分の画像データのライト要求をDMAコントローラ400−Mに対して行う。
以上のようにして、VACT、HACT、ライト要求WRReqが非アクティブの状態でライト承認WRAckが非アクティブになった後は、第1の機能モジュール110−1は、ライト要求を行ったデータの表示メモリ200への書き込みが完了することを待つことなく、次の動作を実行できる。
図5に、本実施形態において機能モジュールがDMAコントローラに対してリード要求を行う場合の動作タイミングの一例を示す。
図5では、コンフィギュレーションレジスタ350の設定データに基づいて、クロスバスイッチ部330が、第1の機能モジュール110−1からのリード要求をDMAコントローラ400−Mに出力する場合のタイミングの一例を示す。
第1の機能モジュール110−1は、システムクロックCLKに同期してVACT及びHACTをアクティブにし、DMAコントローラ400−Mに対するリード要求RDReqをアクティブにする。このVACT、HACT及びリード要求RDReqは、クロスバスイッチ部330により、DMAコントローラ400−Mに対し、第1の機能モジュール110−1からのデータ転送要求として送られる。
DMAコントローラ400−Mは、リード要求RDReqがアクティブになると、リード承認RDAckをアクティブにする。そしてDMAコントローラ400−Mは、コンフィギュレーションレジスタ350の設定データに基づいて既に表示メモリ200から先読みされて保持したリードデータを、VACT及びHACTに同期させて出力する。
以上のようにして第1の機能モジュール110−1は、1フレーム分の画像データのリード要求をDMAコントローラ400−Mに対して行う。そしてリード時には、既に先読みされたリードデータをリード承認RDAckにより読み出す。このため、第1の機能モジュール110−1は、リード要求RDReqを行った後にリードデータが出力されるまで待つ期間が短くなり、迅速に次の動作を実行できるようになる。
図6に、図2のDMAコントローラ400−1の構成例のブロック図を示す。図6では、DMAコントローラ400−1〜400−MのうちDMAコントローラ400−1の構成のみを示すが、他のDMAコントローラ400−2〜400−Mの構成もDMAコントローラ400−1の構成と同様である。
なおDMAコントローラ400−1の構成は図6に示すすべてのブロックを含むものに限定されるものではなく、図6の少なくとも一部が省略された構成を有するものであってもよい。
DMAコントローラ400−1は、ライトアドレス生成部410と、リードアドレス生成部420とを含む。本実施形態では、ライトアドレス生成部410に対してライト要求を行う機能モジュールと、リードアドレス生成部420に対してリード要求を行う機能モジュールとを独立に設定できる。この設定は、コンフィギュレーションレジスタ350の設定データに基づいて行われる。
ライトアドレス生成部410は、表示メモリ200に画像データを書き込むためのライトアドレスを、アクセスアドレスとして生成する。リードアドレス生成部420は、表示メモリ200から画像データを読み出すためのリードアドレスを、アクセスアドレスとして生成する。
本実施形態では、DMAコントローラ400−1が、いわゆるダブルバッファリングやトリプルバッファリングと呼ばれるアクセス方式で表示メモリ200をアクセスする。即ち、DMAコントローラ400−1は、表示メモリ200の記憶エリアに設定された複数のエリアを用いて、データのアクセスを行う。更に具体的には、1画面分の画像データのアクセス(リードアクセス、ライトアクセス)が連続した場合、DMAコントローラ400−1は、アクセス対象の記憶エリアを変更しながら表示メモリ200に対してアクセスする。
このためライトアドレス生成部410は、ライトアドレスを生成すると共に、例えば画像データが書き込まれる表示メモリ200の記憶エリアを指定するライトエリア情報を生成することができる。なおライトエリア情報は、コンフィギュレーションレジスタ350の設定データに基づいて生成されてもよい。
そして、リードアドレス生成部420は、ライトアドレス生成部410からのライトエリア情報により指定されるエリアとは異なる表示メモリ200のエリアからデータを読み出すためのリードアドレスを生成する。
図7に、表示メモリ200の記憶エリアの説明図を示す。
表示メモリ200の記憶エリアのうち、図7に示すように2つのエリアA、エリアBが設定されているものとする。そしてDMAコントローラ400−1が、表示メモリ200のエリアA、エリアBを用いて、ダブルバッファリング方式でアクセスするものとする。
図8に、DMAコントローラ400−1のダブルバッファリング方式によるアクセスの説明図を示す。
例えばエリアAに対するライト要求が発生しているときにリード要求が発生したとき、リードアドレス生成部420は、エリアBに対するリードアドレスを生成する。また例えばエリアBに対するライト要求が発生しているときにリード要求が発生したとき、リードアドレス生成部420は、エリアAに対するリードアドレスを生成する。
このようにダブルバッファリング方式において表示メモリ200をアクセスする場合に、機能モジュール側で表示メモリ200のエリアを判別する必要がなくなり、各機能モジュールはバッファリング方式を意識する必要がなくなる。例えば、機能モジュール側でエリアを判別しようとすると、未だアクセスが行われていない可能性があるにもかかわらず、アクセス要求のみを基準にエリアを判別しなければならない。従って、本来は別のエリアをアクセスすべきにもかかわらず、他のエリアにアクセスしてしまう場合もある。
図6において、DMAコントローラ400−1は、更に、リードFIFO部(リードデータキュー)430と、リード同期管理部440とを含むことができる。リードFIFO部430は、表示メモリ200から読み出された画像データをキューイングする。リード同期管理部440は、VACT及びHACT(画像データにより表される画像の水平表示期間走査期間及び垂直走査期間を規定する同期信号)を生成する。より具体的には、リード同期管理部440は、表示メモリ200から読み出された画像データの画素数をカウントすることで、VACT及びHACTを生成する。更に具体的には、リード同期管理部440は、DMAコントローラ400−1からアービタ340へのリード要求RDReqaに対応するリード承認RDAckaに基づいて、画像データの画素数をカウントできる。そして、リードアドレス生成部420は、リード同期管理部440によって生成されたVACT及びHACTに基づいて更新されるリードアドレスを生成する。
またDMAコントローラ400−1は、更に、ライトFIFO部(ライトデータキュー)450とライト同期キュー部460とを含むことができる。ライトFIFO部450は、表示メモリ200に書き込まれる画像データをキューイングする。ライト同期キュー部460は、VACT及びHACT(表示メモリ200に書き込まれる画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号)をキューイングする。
そしてライトアドレス生成部410は、ライト同期キュー部460にキューイングされるVACTに基づいて定められる垂直表示期間の開始タイミング以降、ライトFIFO部450のキューイング状態に応じて更新されるライトアドレスを生成する。更にライトアドレス生成部410は、ライト同期キュー部460にキューイングされるHACTに基づいて定められる水平表示期間の終了タイミングで、次の水平表示期間の画像データを書き込むためのアドレスに更新されたライトアドレスを生成する。
ライト同期キュー部460がキューイングする同期信号は、画像の水平表示期間及び垂直表示期間の少なくとも1つの開始タイミングを示す1ビットのスタート情報と終了タイミングを示す1ビットのエンド情報とをキューイングすることが望ましい。こうすることで、ライト同期キュー部460がキューイングすべき同期信号の情報量を削減できる。
図9に、ライトFIFO部450とライト同期キュー部460の説明図を示す。
ライトFIFO部450は、先入れ先出し機能を有するメモリであるFIFO(First-In First-Out)452を含む。FIFO452の各段には、表示メモリ200のデータバス幅に対応したバイト数の画像データが保持される。
なお図6に示すリードFIFO部430もまた、FIFO432を含み、FIFO432の各段には、表示メモリ200のデータバス幅に対応したバイト数の画像データが保持されるようになっている。
ライト同期キュー部460もまた、先入れ先出し機能を有するメモリであり、ライト同期キュー部460の各段は、ライトFIFO部450のFIFO452の各段に対応した同期信号を保持する。
即ち、ライトFIFO部450が、表示メモリ200のデータバス幅及びバースト長に対応したデータ量を1ブロックとする所定のブロック数のデータ量の画像データをキューイングする。そして、ライト同期キュー部460が、1ブロック毎に同期信号をキューイングする。
この同期信号として、VACTの立ち上がりエッジで「1」を示すラインスタート情報、VACTの立ち下がりエッジで「1」を示すラインエンド情報、HACTの立ち上がりエッジで「1」を示すピクセルスタート情報、HACTの立ち下がりエッジで「1」を示すピクセルエンド情報が、キューイングされる。
ライト要求WRReqaに対してライト承認WRAckaが返る度に、ライトFIFO部450にキューイングされる画像データ及びライト同期キュー部460にキューイングされる同期信号は、互いに同期しながら出力される。
ライトアドレス生成部410は、ラインスタート情報及びラインエンド情報により、図3の垂直表示期間を判別できる。またライトアドレス生成部410は、ピクセルスタート情報及びピクセルエンド情報により、図3の水平表示期間を判別できる。これに対してリードアドレス生成部420は、リード同期管理部440によって生成された同期信号であるVACT、HACTにより、図3の垂直表示期間及び水平表示期間を判別できる。
図10に、図6のライトアドレス生成部410の構成例のブロック図を示す。
ライトアドレス生成部410は、アドレスインクリメンタ412、加算器414、セレクタ416、リードエリア指定部418を含むことができる。
アドレスインクリメンタ412には、ラインスタート情報が「1」になると、コンフィギュレーションレジスタ350のライトスタートアドレス設定レジスタ352に設定されたライトスタートアドレスがロードされる。その後、アドレスインクリメンタ412は、ライト承認WRAckaが返る度にアドレスを更新していく。
アドレスインクリメンタ412の出力は、加算器414に入力される。この加算器414には、コンフィギュレーションレジスタ350のライトオフセットアドレス設定レジスタ354に設定されたライトオフセットアドレスも入力される。加算器414は、アドレスインクリメンタ412の出力とライトオフセットアドレスとを加算する。
セレクタ416は、ピクセルエンド情報が「0」のときアドレスインクリメンタ412の出力をライトアドレスとして出力し、ピクセルエンド情報が「1」のとき加算器414の出力をライトアドレスとして出力する。
この結果、ラインスタート情報が「1」になるとライトスタートアドレスをロードして、その後ライトアドレスを更新していく。そしてピクセルエンド情報が「1」になると、1ライン分のライトアドレスの更新を終了し、次のラインの先頭アドレスとするため、ライトオフセットアドレスを加算したアドレスをライトアドレスとして出力する。
リードエリア指定部418が、ラインスタート情報に基づいて、ライトエリアとは異なる表示メモリ200のエリアを順次変更しながらリードエリアとして指定する一方、ライトエリア情報をリードアドレス生成部420に対して出力する。例えば表示メモリ200の2つのエリアを用いる場合、リードエリア指定部418は、ラインスタート情報に基づいてリードエリアをトグルしながら切り替え、そのトグル結果に対応したライトエリア情報を出力する。
なおコンフィギュレーションレジスタ350のライトエリア指定レジスタ356によって指定されたライトエリアが、リードエリア指定部418に供給されてもよい。この場合、リードエリア指定部418は、ライトエリアとは異なる表示メモリ200のエリアをリードエリアとして指定するため、ライトエリア情報をリードアドレス生成部420に対して出力する。
図11に、図6のリードアドレス生成部420の構成例のブロック図を示す。
図11では、リードアドレス生成部420の他に、同期信号であるVACT及びHACTを生成するリード同期管理部440についても合わせて示している。リード同期管理部440は、画素カウンタ442を含む。画素カウンタ442は、コンフィギュレーションレジスタ350のピクセル数設定レジスタ360及びライン数設定レジスタ362の設定データに基づいて、リード要求RDReqaに対するリード承認RDAckaが返る度にカウントアップし、VACT及びHACTを生成する。
より具体的には、ピクセル数設定レジスタ360には、1ラインの画素数又は該画素数に対応した値が設定データとして設定される。ライン数設定レジスタ362には、画像のライン数又は該ライン数に対応した値が設定データとして設定される。これにより、画素カウンタ442では、画像のライン数及び1ラインの画素数とを判別して、表示メモリ200から画像データを読み出しながら、図3の垂直表示期間及び水平表示期間に対応するVACT及びHACTを生成する。このVACT及びHACTは、リードアドレス生成部420に供給される。
リードアドレス生成部420は、アドレスインクリメンタ422、加算器424、セレクタ426を含むことができる。
リード同期管理部440からのVACTが非アクティブからアクティブに変化する立ち上がりエッジで、アドレスインクリメンタ422には、コンフィギュレーションレジスタ350のリードスタートアドレス設定レジスタ364に設定されたリードスタートアドレスがロードされる。その後、アドレスインクリメンタ422は、リード承認RDAckaが返る度にアドレスを更新していく。
アドレスインクリメンタ422の出力は、加算器424に入力される。この加算器424には、コンフィギュレーションレジスタ350のリードオフセットアドレス設定レジスタ366に設定されたリードオフセットアドレスも入力される。加算器424は、アドレスインクリメンタ422の出力とリードオフセットアドレスとを加算する。
セレクタ426は、HACTがアクティブのときアドレスインクリメンタ422の出力をリードアドレスとして出力し、HACTがアクティブから非アクティブに変化する立ち下がりタイミングのとき加算器424の出力をリードアドレスとして出力する。
この結果、VACTがアクティブに変化するとリードスタートアドレスをロードして、その後リードアドレスを更新していく。そして、HACTが非アクティブに変化すると、1ライン分のリードアドレスの更新を終了し、次のラインの先頭アドレスとするため、リードオフセットアドレスを加算したアドレスをリードアドレスとして出力する。
なおリードスタートアドレス設定レジスタ364からは、ライトアドレス生成部410からのライトエリア情報により指定されるエリアとは異なる表示メモリ200のエリアから画像データを読み出すためのリードスタートアドレスが出力される。
図12に、本実施形態におけるDMAコントローラ400−1とアービタ340との間でやり取りされる信号のタイミングの一例を示す。
図12では、ライトアクセスが3回連続した後にリードアクセスが行われる例を示している。ここでは、DMAコントローラ400−1とアービタ340との間でやり取りされる信号のタイミング図を示すが、DMAコントローラ400−2〜400−Mの各DMAコントローラとアービタ340との間でやり取りされる信号のタイミングも同様である。
以下、データやコマンドの末尾が「A」のものは表示メモリ200に設定されたエリアAへのアクセスに関するもので、末尾が「B」のものは表示メモリ200に設定されたエリアBへのアクセスに関するものとする(以下の「A」、「B」は、図7、図8で説明したエリアA、エリアBとは異なる)。
まずDMAコントローラ400−1が、ライト要求WRReqaをアクティブにしてライトアドレスADR0及びライトデータD0Aを出力する(TG1)。
アービタ340が、DMAコントローラ400−1からのライト要求WRReqaに応答してライト承認WRAckaを返す(TG2)と、DMAコントローラ400−1はライトアドレスをADR1に更新すると共に、ライトデータD1A、D2A、・・・を順次出力していく。
メモリI/F320は、DMAコントローラ400−1からのライトアドレスに基づいて、ライトデータを表示メモリ200に順次書き込んでいく。より具体的にはメモリI/F320は、ライトアドレスに基づいて表示メモリ200のロウアドレス及びカラムアドレスを出力すると共に、複数の制御信号の組合せに対応したコマンドを出力することで表示メモリ200へのアクセスを実現する(TG3)。
3回目のライト動作時に、DMAコントローラ400−1が、リード要求RDReqaを発生させるものとする(TG4)。このときDMAコントローラ400−1は、リード要求RDReqaと共にリードアドレスRDRを出力する。
そして、3回目のライト要求WRReqaに対するライト承認WRAckaが返ると、アービタ340は、リード要求RDReqaに応答してリード承認RDAckaを返す(TG5)。従って、メモリI/F320は、3回目のライト承認WRAcka後にライトアクセスを行った後、リードアクセスを行う。
なおリード動作時には、リードデータと共にアクティブとなるRDEnbにより、リードFIFO部430のFIFO432に該リードデータがラッチされる。
図13に、本実施形態におけるDMAコントローラ400−1とアービタ340との間でやり取りされる信号のタイミングの他の例を示す。
図13では、リードアクセスが3回連続した後にライトアクセスが行われる例を示している。ここでは、DMAコントローラ400−1とアービタ340との間でやり取りされる信号のタイミング図を示すが、DMAコントローラ400−2〜400−Mの各DMAコントローラとアービタ340との間でやり取りされる信号のタイミングも同様である。
まずDMAコントローラ400−1が、リード要求RDReqaをアクティブにしてリードアドレスRDR0を出力する(TG10)。アービタ340は、リード要求RDReqaに応答してリード承認RDAckaを返す(TG11)。リード承認RDAckaを受け取ったDMAコントローラ400−1は、リードアドレスを更新する。
メモリI/F320は、リードアドレスRDR0に基づいて、表示メモリ200から順次データを読み出す。より具体的にはメモリI/F320は、リードアドレスに基づいて表示メモリ200のロウアドレス及びカラムアドレスを出力すると共に、複数の制御信号の組合せに対応したコマンドを出力することで表示メモリ200へのアクセスを実現する(TG12)。
3回目のリード動作時に、DMAコントローラ400−1が、ライト要求WRReqaを発生させるものとする(TG13)。このときDMAコントローラ400−1は、ライト要求WRReqaと共にライトアドレスADR0を出力する。
そして、3回目のリード要求RDReqaに対するリード承認RDAckaが返り、3回目のリードアクセスが終了すると、アービタ340は、ライト要求WRReqaに応答してライト承認WRAckaを返す(TG14)。従って、メモリI/F320は、ライト承認WRAcka後にライトアクセスを行う。
以上のように本実施形態によれば、機能モジュールの数に関係なく、汎用的なメモリインタフェースで、各機能モジュールから要求されるデータ転送のスループットを向上させるメモリコントローラを提供できる。
即ち、メモリコントローラ300では、機能モジュール側ではなくメモリコントローラ側でアクセスアドレスを生成するようにしたので、機能モジュールがハンドシェイク方式で表示メモリ200にアクセスする場合、アクセスアドレスを出力した直後に該機能モジュールが次の動作に移れないという事態を回避できるようになる。
また本実施形態では、各DMAコントローラでデータ等をキューイングするようにしたので、各機能モジュールからのアクセス要求と表示メモリ200へのアクセス要求の調停とのタイミングが分離される。その結果、表示メモリ200にアクセスする画像のブランキング期間と実際にLCDパネル等に表示される画像のブランキング期間とは時間的なずれが生じる。従って、本実施形態では、表示メモリ200のデータ転送が、実質的に、LCDパネル等に表示される画像のブランキング期間にも行われていることになり、データ転送のスループットの向上に寄与している。
またメモリコントローラ300が、複数のDMAコントローラを含み、クロスバスイッチ部330により、機能モジュールからのアクセス要求をいずれかのDMAコントローラに供給できるようにした。これにより、表示メモリ200に対し、複数のDMAコントローラから同時にアクセス要求を行ったときの調停に必要な信号のやり取りは、メモリコントローラ300側で行うことができる。そのため、機能モジュールを追加した場合に、機能モジュール間でやり取りされる信号線を追加する必要がなくなると共に機能モジュールの追加が容易となり、拡張性の高いメモリコントローラを提供できる。
更にメモリコントローラ300が備える各DMAコントローラは、ライトアドレス生成部及びリードアドレス生成部を含み、各アドレス生成部が独立に機能モジュールからのアクセス要求を受け付けるようにする一方、リードアドレス生成部がライトアドレス生成部によりアクセスされるライトエリア情報を参照してリードアドレスを生成できるようにした。これにより、ダブルバッファリング方式やトリプルバッファリング方式で機能モジュールが表示メモリ200にアクセスする場合、機能モジュール側で表示メモリ200のエリアを判別するよりも、表示メモリ200側に近いDMAコントローラが、直前のライトアクセスのライトエリア情報で表示メモリ200のエリアを判別できる。
3. 表示コントローラへの適用例
次に、本実施形態における画像処理コントローラ100を、表示コントローラに適用した例について説明する。
図14に、本実施形態における画像処理コントローラ100が適用された表示コントローラの構成例のブロック図を示す。図14において、図1と同一部分には同一符号を付し、適宜説明を省略する。
この表示コントローラ(広義には画像処理コントローラ)500は、表示メモリ200及びメモリコントローラ300の他に、カメラI/F(広義には画像データ入力I/F)510、ホストI/F520、回転処理部530、LCDI/F(広義には画像データ出力I/F)540を含む。
カメラI/F510は、入力画像のデータが入力される。より具体的には、カメラI/F510には、CCDカメラやCMOSカメラを内蔵するカメラモジュールで撮像された画像のデータが入力される。そしてカメラI/F510は、該画像データのインタフェース処理(カメラモジュールとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データを表示メモリ200に書き込むためのライト要求をメモリコントローラ300に対して行う。
ホストI/F520には、図示しないホストからのデータが入力される。このとき、ホストI/F520は、インタフェース処理(ホストとの間の受信処理や、信号のバッファリング)を行い、インタフェース処理後のデータを表示メモリ200に書き込むためのライト要求を行ったり、インタフェース処理後のデータを回転処理部530に供給したりする。またホストI/F520は、表示メモリ200からの画像データを読み出すためのリード要求を行ったり、回転処理部530が出力した回転処理後の画像データをホストに出力する処理を行う。このときホストI/F520は、インタフェース処理(ホストとの間の送信処理や、信号のバッファリング)後のデータをホストに出力する。
回転処理部530は、例えば画像の中心位置を基準に画像の向きを回転させる回転処理を行う。より具体的には回転処理部530は、回転処理後の画像データを表示メモリ200に書き込むためのライト要求をメモリコントローラ300に対して行ったり、表示メモリ200から読み出された画像の向きが該画像の中心位置を基準に回転するように表示メモリ200から画像データを読み出すためのリード要求をメモリコントローラ300に対して行ったりする。
LCDI/F540は、メモリコントローラ300によってリードアクセス制御された結果表示メモリ200から読み出された画像データを出力するためのインタフェース処理を行う。LCDI/F540は、メモリコントローラ300からの画像データのインタフェース処理(表示ドライバとの間の送信処理や、信号のバッファリング)を行い、インタフェース処理後の画像データを図示しない表示ドライバに出力する。LCDI/F540は、例えば同期信号発生回路を含み、電気光学装置を駆動するための表示用の同期信号(1フレームの走査期間である1垂直走査期間を規定する垂直同期信号VSYNC、1水平走査期間を規定する水平同期信号HSYNC、ドットクロックDCLK等)を生成し、該同期信号を表示ドライバに供給することができる。このときLCDI/F540は、各フレームの画像データを垂直同期信号に同期させ、且つ各画素の画像データをドットクロックに同期させて出力する。
表示コントローラ500では、カメラI/F510を介して入力された画像データに対して回転処理を行った後、回転処理後の画像データをLCDI/F540を介して出力できる。
図15に、図14の表示コントローラ500の動作例を模式的に示す。
一般的に2つのブロックが表示メモリ200に対してアクセスする場合、ダブルバッファリング方式でアクセスすれば、誤って書き込み途中のデータを読み出すことがない。しかしながら、回転処理を行う場合には、例えば画像の水平方向に並ぶ各画素の画像データに対して、例えば画像の垂直方向に並ぶ各画素の画像データを読み出す必要がある。そのため、カメラI/F510と回転処理部530とは、表示メモリ200に対して、いわゆるトリプルバッファリング方式でアクセス要求を行う。
即ち、トリプルバッファ領域に3フレーム分の画像データを保持された表示メモリ200に対して、カメラI/F510と回転処理部530とは、互いに異なるフレームの画像データに対するアクセスを行う。
一方、回転処理部530が、回転処理後の画像データを表示メモリ200に書き戻す場合には、トリプルバッファリング方式でアクセスする必要がない。従って、回転処理部530とLCDI/F540とは、いわゆるダブルバッファリング方式でアクセス要求を行う。
即ち、ダブルバッファ領域に2フレーム分の画像データを保持された表示メモリ200に対して、LCDI/F540と回転処理部530とは、互いに異なるフレームの画像データに対するアクセスを行う。
表示コントローラ500のメモリコントローラ300では、カメラI/F510からのライトアクセスをDMAコントローラ400−1のライトチャネルで実現し、回転処理部530からのリードアクセスをDMAコントローラ400−1のリードチャネルで実現することが望ましい。こうすることで、トリプルバッファ領域に対するライト要求及びリード要求が同時に発生した場合でも、上述のようにライトエリア情報に基づいて、無駄にアクセスの終了を待つ事態を回避できるようになる。
また表示コントローラ500のメモリコントローラ300では、回転処理部530からのライトアクセスをDMAコントローラ400−2のライトチャネルで実現し、LCDI/F540からのリードアクセスをDMAコントローラ400−2のリードチャネルで実現することが望ましい。
4. 電子機器
図16に、本実施形態における電子機器の構成例のブロック図を示す。ここでは、電子機器として、携帯電話機の構成例のブロック図を示す。
携帯電話機600は、図14の表示コントローラ500を含む。携帯電話機600は、カメラモジュール610を含む。カメラモジュール610は、CCDカメラを含み、CCDカメラで撮像した画像のデータを表示コントローラ500に供給する。
携帯電話機600は、表示パネル(広義には電気光学装置、更に広義には表示装置)620を含む。表示パネル620として、LCDパネルを採用できる。この場合、表示パネル620は、表示ドライバ630によって駆動される。表示パネル620は、複数の走査線、複数のデータ線、複数の画素を含む。表示ドライバ630は、複数の走査線の1又は複数本単位で走査線を選択する走査ドライバの機能を有すると共に、画素データに対応した電圧を複数のデータ線に供給するデータドライバの機能を有する。
表示コントローラ500は、表示ドライバ630に接続され、表示ドライバ630に対してRGBフォーマットの画像データを供給する。
ホスト640は、表示コントローラ500に接続される。ホスト640は、表示コントローラ500を制御する。またホスト640は、アンテナ650を介して受信された画像データを含む通信データを、変復調部660で復調した後、表示コントローラ500に供給できる。表示コントローラ500は、この画像データに基づき、表示ドライバ630により表示パネル620に表示させる。
ホスト640は、カメラモジュール610で生成された画像データを変復調部660で変調した後、アンテナ650を介して他の通信装置への送信を指示できる。
ホスト640は、操作入力部670からの操作情報に基づいて画像データの送受信処理、カメラモジュール610の撮像、表示パネルの表示処理を行う。
なお、図16では、表示パネル620としてLCDパネルを例に説明したが、これに限定されるものではない。表示パネル620は、エレクトロクミネッセンス、プラズマディスプレイ装置であってもよく、これらを駆動する表示ドライバに画像データを供給する表示コントローラに適用できる。また表示コントローラ500が、YUVフォーマットの画像データを、図示しない出力端子を介して接続されるCRT装置に対して出力してもよい。
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、本実施形態におけるメモリコントローラは、表示メモリに対するアクセス制御を行うものに限定されるものではなく、画像データとは無関係のデータを記憶するメモリに対するアクセス制御を行うものにも適用可能である。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
本実施形態における画像処理コントローラの構成の概要を示すブロック図。 図1のメモリコントローラの構成の概要のブロック図。 本実施形態における同期信号の説明図。 本実施形態において機能モジュールがDMAコントローラに対してライト要求を行う場合の動作タイミングの一例を示す図。 本実施形態において機能モジュールがDMAコントローラに対してリード要求を行う場合の動作タイミングの一例を示す図。 図2のDMAコントローラの構成例のブロック図。 表示メモリの記憶エリアの説明図。 DMAコントローラのダブルバッファリング方式によるアクセスの説明図。 ライトFIFO部とライト同期キュー部の説明図。 図6のライトアドレス生成部の構成例のブロック図。 図6のリードアドレス生成部の構成例のブロック図。 本実施形態におけるDMAコントローラとアービタとの間でやり取りされる信号のタイミングの一例を示す図。 本実施形態におけるDMAコントローラとアービタとの間でやり取りされる信号のタイミングの他の例を示す図。 本実施形態における画像処理コントローラが適用された表示コントローラの構成例のブロック図。 図14の表示コントローラの動作例を模式的に示す図。 本実施形態における電子機器の構成例のブロック図。 機能モジュールが次の動作に移行できない期間の例を説明する図。 機能モジュールが次の動作に移行できない期間の他の例を説明する図。
符号の説明
100 画像処理コントローラ、
110−1〜110−N 第1〜第Nの機能モジュール、 200 表示メモリ、
300 メモリコントローラ、
310−1〜310−N 第1〜第NのモジュールI/F、 320 メモリI/F、
330 クロスバスイッチ部、 340 アービタ、
350 コンフィギュレーションレジスタ、
400−1〜400−M DMAコントローラ、 410 ライトアドレス生成部、
420 リードアドレス生成部、 430 リードFIFO部、
432、452 FIFO、 440 リード同期管理部、
450 ライトFIFO部、 460 ライト同期キュー部、
500 表示コントローラ、 510 カメラI/F、 520 ホストI/F、
530 回転処理部、 540 LCDI/F、 600 携帯電話機、
610 カメラモジュール、 620 表示パネル、 630 表示ドライバ、
640 ホスト、 650 アンテナ、 660 変復調部、 670 操作入力部

Claims (11)

  1. 第1〜第N(Nは2以上の整数)の機能モジュールによりメモリをアクセスするためのメモリコントローラであって、
    各データ転送制御部へのアクセス要求に応じて前記メモリのデータ転送要求を行う第1〜第M(1<M≦N、Mは整数)のデータ転送制御部と、
    前記第1〜第Nの機能モジュールの1つの機能モジュールからのアクセス要求を、前記第1〜第Mのデータ転送制御部のいずれかに供給するためのクロスバスイッチ部と、
    前記第1〜第Mのデータ転送制御部のデータ転送要求を調停するアービタと、
    前記アービタによって調停された前記第1〜第Mのデータ転送制御部の1つのデータ転送制御部のデータ転送要求に基づいて前記メモリにアクセスするためのメモリインタフェースとを含み、
    各データ転送制御部が、
    各データ転送制御部へのアクセス要求に基づいて、前記メモリへのアクセスアドレスを生成すると共に、
    前記アービタによって調停された結果、前記メモリに対するデータ転送要求が許可されたとき、前記アクセスアドレスを用いて前記メモリからのデータの読み出し制御、又は前記メモリへのデータの書き込み制御を行うことを特徴とするメモリコントローラ。
  2. 請求項1において、
    前記メモリの記憶エリアに設定された複数のエリアを用いて、データのアクセスを行う場合に、
    各データ転送制御部が、
    前記メモリにデータを書き込むためのライトアドレスを前記アクセスアドレスとして生成するライトアドレス生成部と、
    前記メモリからデータを読み出すためのリードアドレスを前記アクセスアドレスとして生成するリードアドレス生成部とを含み、
    前記リードアドレス生成部が、
    前記メモリのライトエリア情報により指定されるエリアとは異なる前記メモリのエリアからデータを読み出すためのリードアドレスを生成し、
    前記ライトエリア情報が、
    前記ライトアドレスに基づいて前記データが書き込まれる前記メモリのエリアを指定する情報であることを特徴とするメモリコントローラ。
  3. 請求項1において、
    前記メモリが、画像データを記憶する表示メモリとして機能し、
    各データ転送制御部が、
    前記メモリから前記画像データを読み出すためのリードアドレスを、前記アクセスアドレスとして生成するリードアドレス生成部と、
    前記メモリから読み出された画像データをキューイングするリードデータキューと、
    前記メモリから読み出された画像データの画素数をカウントして、該画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号を生成するリード同期管理部とを含み、
    前記リードアドレス生成部が、
    前記リード同期管理部によって生成された同期信号に基づいて更新される前記リードアドレスを生成することを特徴とするメモリコントローラ。
  4. 請求項1において、
    前記メモリが、画像データを記憶する表示メモリとして機能し、
    各データ転送制御部が、
    前記画像データをメモリに書き込むためのライトアドレスを、前記アクセスアドレスとして生成するライトアドレス生成部と、
    前記メモリに書き込まれる画像データをキューイングするライトデータキューと、
    前記メモリに書き込まれる画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号をキューイングするライト同期キューとを含み、
    前記ライトアドレス生成部が、
    前記ライト同期キューから出力された同期信号に基づいて、前記垂直表示期間の開始タイミングでロードされ、且つ前記ライトデータキューのキューイング状態に応じて更新される前記ライトアドレスを生成すると共に、
    前記ライト同期キューから出力された同期信号に基づいて、前記水平表示期間の終了タイミングで、次の水平表示期間の画像データを書き込むためのアドレスに更新される前記ライトアドレスを生成することを特徴とするメモリコントローラ。
  5. 請求項4において、
    前記メモリの記憶エリアに設定された複数のエリアを用いて、データのアクセスを行う場合に、
    各データ転送制御部が、
    前記メモリから前記画像データを読み出すためのリードアドレスを、前記アクセスアドレスとして生成するリードアドレス生成部と、
    前記メモリから読み出された画像データをキューイングするリードデータキューと、
    前記メモリから読み出された画像データの画素数をカウントして、該画像データにより表される画像の水平表示期間及び垂直表示期間を規定する同期信号を生成するリード同期管理部とを含み、
    前記リードアドレス生成部が、
    前記メモリのライトエリア情報で指定されるエリアとは異なる前記メモリのエリアから前記画像データを読み出すためであって、前記リード同期管理部によって生成された同期信号に基づいて更新される前記リードアドレスを生成し、
    前記ライトエリア情報が、
    前記ライトアドレスに基づいて前記データが書き込まれる前記メモリのエリアを指定する情報であることを特徴とするメモリコントローラ。
  6. 請求項4又は5において、
    前記ライト同期キューが、
    前記画像の水平表示期間及び垂直表示期間の少なくとも1つの開始タイミングを示す1ビットのスタート情報と終了タイミングを示す1ビットのエンド情報とを、前記同期信号としてキューイングすることを特徴とするメモリコントローラ。
  7. 請求項4乃至6のいずれかにおいて、
    前記ライトデータキューが、
    前記メモリのデータバス幅に対応したデータ量を1ブロックとする所定のブロック数のデータ量の画像データをキューイングし、
    前記ライト同期キューが、
    前記1ブロック毎に前記同期信号をキューイングすることを特徴とするメモリコントローラ。
  8. 各機能モジュールがメモリに対してアクセス要求を行う第1〜第Nの機能モジュールと、
    請求項1乃至7のいずれか記載のメモリコントローラと、
    前記メモリコントローラによってアクセス制御されるメモリとを含むことを特徴とする画像処理コントローラ。
  9. 画像データを入力するための画像データ入力インタフェースと、
    請求項3乃至7のいずれか記載のメモリコントローラと、
    前記メモリコントローラによってアクセス制御される表示メモリと、
    前記表示メモリに記憶される画像データの回転処理を行う回転処理部と、
    前記表示メモリから読み出された画像データを出力するための画像データ出力インタフェースとを含み、
    前記回転処理部が、
    前記メモリコントローラに対してリード要求を行って前記表示メモリから画像データを読み出した後、前記メモリコントローラに対してライト要求を行って、該画像データに対して行った回転処理後の画像データを前記表示メモリに書き込むことを特徴とする画像処理コントローラ。
  10. 請求項9において、
    前記表示メモリの記憶領域が、
    トリプルバッファ領域と、
    ダブルバッファ領域とを含み、
    前記トリプルバッファ領域が、
    前記画像データ入力インタフェースと前記回転処理部とによってアクセスされ、
    前記ダブルバッファ領域が、
    前記回転処理部と前記画像データ出力インタフェースとによってアクセスされることを特徴とする画像処理コントローラ。
  11. 表示装置と、
    請求項8乃至10のいずれか記載の画像処理コントローラと、
    前記画像処理コントローラによって供給される画像データに基づいて前記表示装置を駆動する表示ドライバとを含むことを特徴とする電子機器。
JP2005118728A 2005-04-15 2005-04-15 メモリコントローラ、画像処理コントローラ及び電子機器 Withdrawn JP2006301724A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005118728A JP2006301724A (ja) 2005-04-15 2005-04-15 メモリコントローラ、画像処理コントローラ及び電子機器
US11/397,600 US20060236012A1 (en) 2005-04-15 2006-04-05 Memory controller, image processing controller, and electronic instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005118728A JP2006301724A (ja) 2005-04-15 2005-04-15 メモリコントローラ、画像処理コントローラ及び電子機器

Publications (1)

Publication Number Publication Date
JP2006301724A true JP2006301724A (ja) 2006-11-02

Family

ID=37109881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005118728A Withdrawn JP2006301724A (ja) 2005-04-15 2005-04-15 メモリコントローラ、画像処理コントローラ及び電子機器

Country Status (2)

Country Link
US (1) US20060236012A1 (ja)
JP (1) JP2006301724A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252128A (ja) * 2008-04-10 2009-10-29 Sony Corp メモリ制御装置及びその制御方法
JP2013515299A (ja) * 2009-12-18 2013-05-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 省電力メモリ
KR20190073535A (ko) * 2017-07-05 2019-06-26 구글 엘엘씨 특수 목적 연산 유닛을 사용한 하드웨어 이중 버퍼링

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8248425B2 (en) 2009-09-16 2012-08-21 Ncomputing Inc. Optimization of memory bandwidth in a multi-display system
KR102069857B1 (ko) 2013-02-28 2020-01-23 삼성전자주식회사 자체-학습을 통해 원래 이미지를 회전하는 방법과 상기 방법을 수행할 수 있는 장치들
JP6142783B2 (ja) * 2013-11-25 2017-06-07 富士通株式会社 メモリコントローラ,情報処理装置及びメモリコントローラの制御方法
CN110060643B (zh) * 2019-04-06 2023-10-17 上海安路信息科技股份有限公司 数据存储方法及数据存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225710A (ja) * 1994-02-14 1995-08-22 Sharp Corp 画像処理装置
JP2001056793A (ja) * 1999-08-19 2001-02-27 Nec Corp 情報処理装置
JP2001143059A (ja) * 1999-10-04 2001-05-25 Sarnoff Corp 画像処理システムのためのパイプラインピラミッドプロセッサ
JP2002254729A (ja) * 2001-03-02 2002-09-11 Sharp Corp 画像データのdma制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
US6118462A (en) * 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225710A (ja) * 1994-02-14 1995-08-22 Sharp Corp 画像処理装置
JP2001056793A (ja) * 1999-08-19 2001-02-27 Nec Corp 情報処理装置
JP2001143059A (ja) * 1999-10-04 2001-05-25 Sarnoff Corp 画像処理システムのためのパイプラインピラミッドプロセッサ
JP2002254729A (ja) * 2001-03-02 2002-09-11 Sharp Corp 画像データのdma制御装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252128A (ja) * 2008-04-10 2009-10-29 Sony Corp メモリ制御装置及びその制御方法
JP4632099B2 (ja) * 2008-04-10 2011-02-16 ソニー株式会社 メモリ制御装置及びその制御方法
US8156294B2 (en) 2008-04-10 2012-04-10 Sony Corporation Apparatus and method for controlling storage buffers
JP2013515299A (ja) * 2009-12-18 2013-05-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 省電力メモリ
US9041720B2 (en) 2009-12-18 2015-05-26 Advanced Micro Devices, Inc. Static image retiling and power management method and circuit
KR20190073535A (ko) * 2017-07-05 2019-06-26 구글 엘엘씨 특수 목적 연산 유닛을 사용한 하드웨어 이중 버퍼링
JP2020506453A (ja) * 2017-07-05 2020-02-27 グーグル エルエルシー 特殊目的計算ユニットを用いたハードウェアダブルバッファリング
US11099772B2 (en) 2017-07-05 2021-08-24 Google Llc Hardware double buffering using a special purpose computational unit
KR102309522B1 (ko) 2017-07-05 2021-10-07 구글 엘엘씨 특수 목적 연산 유닛을 사용한 하드웨어 이중 버퍼링
JP7062659B2 (ja) 2017-07-05 2022-05-06 グーグル エルエルシー 特殊目的計算ユニットを用いたハードウェアダブルバッファリング
JP7379581B2 (ja) 2017-07-05 2023-11-14 グーグル エルエルシー 特殊目的計算ユニットを用いたハードウェアダブルバッファリング

Also Published As

Publication number Publication date
US20060236012A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
JP2006301724A (ja) メモリコントローラ、画像処理コントローラ及び電子機器
KR20160099393A (ko) 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
JP2014175006A (ja) イメージ処理回路の動作方法、並びにシステム・オン・チップ、アプリケーションプロセッサ、モバイル機器、イメージ処理回路、及びディスプレイシステム
US8447035B2 (en) Contract based memory management for isochronous streams
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
WO2002060175A1 (fr) Dispositif de transfert de donnees
JP2006174334A (ja) 表示コントローラ、電子機器及び画像データ供給方法
TW201020791A (en) Data processing device and monitor using thereof
JP2005167350A (ja) 画像表示装置、画像データ転送方法、プログラム
US20060082580A1 (en) Method and apparatus for triggering frame updates
JP5583563B2 (ja) データ処理装置
JP2005122119A (ja) Mpuとビデオコーデックとで構成されるシステムにおけるビデオインタフェース装置
JP2006011074A (ja) 表示コントローラ、電子機器及び画像データ供給方法
JP3033747B1 (ja) 多画面表示回路および多画面表示回路を搭載した携帯端末機器
JP5224492B2 (ja) 画像データ転送制御装置及び画像データ転送方法並びに該画像データ転送装置を有するカメラ
JP2013195963A (ja) 画像処理装置、集積回路装置及び画像表示システム
JP2015034891A (ja) レジスタ設定制御装置
JP5125205B2 (ja) データ信号処理装置、画像処理装置、画像出力装置、および、データ信号処理方法
US20240071332A1 (en) Display Driver Integrated Circuit and Control Method Thereof
JP4071225B2 (ja) 転送回路
JP4046716B2 (ja) 情報処理装置およびデータ伝送方法
US20090094420A1 (en) Data access method and memory using the same
JP2010086401A (ja) マイクロコンピュータ、それを含んだシステムおよびデータ転送装置
JP2008245301A (ja) 表示パネル、電子機器及び画像データ準備方法
JP2006227498A (ja) 画像処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090515