説明

集積回路装置及び電子機器

【課題】画像メモリーのアクセス単位より小さい単位で画像を挿入できる集積回路装置及び電子機器等を提供すること。
【解決手段】集積回路装置は、メモリーコントローラー140と、リードモディファイライト回路160と、を含む。リードモディファイライト回路160は、画像メモリー20に記憶された第1の画像データの各画素のビット数がNビット(Nは自然数)であり、第1の画像データの書き換え単位ビット数がMビット(MはM≧Nの自然数)であり、メモリーコントローラー140の画像メモリー20に対する1回にアクセス可能なビット数がLビット(LはL>Mの自然数)である場合に、L/M個(L、MはNの自然数倍)のライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する第1の画像データの画素データを、第2の画像データの対応する画素データに書き換える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路装置及び電子機器等に関する。
【背景技術】
【0002】
種々の画像を表示する表示装置には、表示制御を行う表示コントローラーが一般に用いられている(例えば、特許文献1に開示された表示コントローラー)。表示コントローラーは、ホスト等から入力された画像データを画像メモリーに記憶し、その画像データに基づいて表示制御を行う。このとき、画像メモリーに格納されている画像の一部に、他の画像を挿入して表示したい場合がある。
【0003】
しかしながら、挿入する他の画像の画像データを画像メモリーに直接書き込む場合には、画像メモリーのアクセス単位でしか書き込むことができず、アクセス単位より小さい単位で書き換えられない場合がある。例えば、画像メモリーの1アドレスが16ビットであり、1画素の画素データが1ビットの場合、1アドレスに格納される16画素毎にしか書き換えられない。この場合、挿入する画像の位置を1画素単位で調整したり、円などの図形を書き込んだりすることが困難になってしまう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−18002号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の幾つかの態様によれば、画像メモリーのアクセス単位より小さい単位で画像を挿入できる集積回路装置及び電子機器等を提供できる。
【課題を解決するための手段】
【0006】
本発明の一態様は、第1の画像データを記憶する画像メモリーとのインターフェース処理を行うメモリーコントローラーと、第2の画像データとライトイネーブル信号に基づいて、前記画像メモリーに記憶された前記第1の画像データを書き換えるリードモディファイライト回路と、を含み、前記リードモディファイライト回路は、前記第1の画像データの各画素のビット数がNビット(Nは自然数)であり、前記第1の画像データの書き換え単位ビット数がMビット(MはM≧Nの自然数)であり、前記メモリーコントローラーの前記画像メモリーに対する1回にアクセス可能なビット数がLビット(LはL>Mを満たす2以上の自然数)である場合に、前記Lビットに対応するL/M個(L、MはそれぞれNの自然数倍)の前記ライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する前記第1の画像データの画素データを、前記第2の画像データの対応する画素データに書き換える集積回路装置に関係する。
【0007】
本発明の一態様によれば、第1の画像データの各画素のビット数がNビットであり、第1の画像データの書き換え単位ビット数がMビットであり、メモリーコントローラーの画像メモリーに対する1回にアクセス可能なビット数がLビットであるものとする。この場合、Lビットに対応するL/M個のライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する第1の画像データの画素データが、第2の画像データの対応する画素データに書き換えられる。これにより、画像メモリーのアクセス単位(Lビット)より小さい単位(Mビット。L>M)で画像を挿入すること等が可能になる。
【0008】
また、本発明の一態様では、前記リードモディファイライト回路は、前記Lビットに対応するL/N個の前記ライトイネーブル信号が非アクティブの場合には、前記第1の画像データの対応する画素データを書き換えなくてもよい。
【0009】
このようにすれれば、L/M個のライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する第1の画像データの画素データを書き換え、L/N個のライトイネーブル信号が非アクティブの場合には、第1の画像データの対応する画素データを書き換えないことができる。
【0010】
また、本発明の一態様では、前記リードモディファイライト回路は、前記第2の画像データをバッファリングする第1のバッファーを含み、前記第1のバッファーには、書き換え後の前記第1の画像データが書き込まれてもよい。
【0011】
このようにすれば、第1のバッファーにより第2の画像データをバッファリングし、その第1のバッファーに対して、書き換え後の第1の画像データを書き込むことができる。
【0012】
また、本発明の一態様では、前記第1のバッファーは、1アドレスのビット数がk×Lビット(kは自然数)であり、n×k×Lビット(nは2以上の自然数)のデータを前記画像メモリーに対してバーストモードで転送してもよい。
【0013】
このようにすれば、n×k×Lビットのデータを第1のバッファーから画像メモリーに対してバーストモードで転送することができる。
【0014】
また、本発明の一態様では、前記リードモディファイライト回路は、前記画像メモリーから前記第1の画像データを読み出すときに、前記メモリーコントローラーに対してn×k×Lビット分のリクエスト信号を送信してもよい。
【0015】
このようにすれば、メモリーコントローラーに対してn×k×Lビット分のリクエスト信号を送信することで、画像メモリーから第1の画像データを読み出すことができる。
【0016】
また、本発明の一態様では、前記リードモディファイライト回路は、前記n×k×Lビット分のリクエスト信号としてn×k個のリクエスト信号を送信し、前記Lビットに対応する前記ライトイネーブル信号が非アクティブの場合には、前記n×k個のリクエスト信号のうちの対応するリクエスト信号を非アクティブにしてもよい。
【0017】
このようにすれば、ライトイネーブル信号に応じてリクエスト信号を送信できる。すなわち、第1の画像データのLビットに対応するライトイネーブル信号が非アクティブの場合には、n×k個のリクエスト信号のうちの対応するリクエスト信号を非アクティブにできる。
【0018】
また、本発明の一態様では、前記第1のバッファーは、第1のFIFOにより構成され、前記第1のFIFOは、可変の段数をm(mは自然数)とする場合に、n×mが一定となるように前記バーストモードによる転送が制御されてもよい。
【0019】
このようにすれば、第1のバッファーを第1のFIFOにより構成できる。そして、第1のFIFOの段数mを可変にし、n×mが一定となるようにバーストモードによる転送を制御できる。
【0020】
また、本発明の一態様では、前記第1の画像データまたは前記第2の画像データとしてストリーム画像データが入力される第2のバッファーを含み、前記第2のバッファーは、前記ストリーム画像データの各画素データのフォーマットを、前記画像メモリーに記憶される画素データのフォーマットに変換して記憶してもよい。
【0021】
このようにすれば、第1の画像データまたは第2の画像データとして入力されるストリーム画像データの各画素データのフォーマットを、画像メモリーに記憶される画素データのフォーマットに変換して記憶できる。
【0022】
また、本発明の一態様では、前記第2のバッファーは、前記ストリーム画像データとして複数の画素データを含む入力データが書き込まれ、前記入力データをシリアルに順次シフトする第2のFIFOにより構成され、前記第2のFIFOは、前記入力データに水平走査線の終端の画素データが含まれる場合に、次の水平走査線の開始端の画素データが前記第2のFIFOの終端に来るまで前記入力データをシフトすることで、前記ストリーム画像データを水平走査線毎に切り分けてもよい。
【0023】
このようにすれば、第2のバッファーを第2のFIFOにより構成できる。そして、第2のFIFOの入力データに水平走査線の終端の画素データが含まれる場合に、次の水平走査線の開始端の画素データが第2のFIFOの終端に来るまで入力データをシフトすることで、ストリーム画像データを水平走査線毎に切り分けることができる。
【0024】
また、本発明の他の態様は、上記に記載の集積回路装置を含む電子機器に関係する。
【図面の簡単な説明】
【0025】
【図1】図1(A)〜図1(D)は、比較例の説明図。
【図2】本実施形態の表示コントローラーの構成例。
【図3】図3(A)、図3(B)は、本実施形態の動作説明図。
【図4】本実施形態の動作説明図。
【図5】リードモディファイライト回路の詳細な構成例。
【図6】リードモディファイライト処理の動作例。
【図7】リードモディファイライト処理の動作例。
【図8】リードモディファイライト処理の動作例。
【図9】本実施形態の表示コントローラーの第2の構成例。
【図10】第2のバッファーの動作説明図。
【図11】第2のバッファーの動作説明図。
【図12】電子機器の構成例。
【発明を実施するための形態】
【0026】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0027】
1.比較例
まず図1(A)〜図1(D)を用いて、本実施形態の比較例について説明する。図1(A)には、表示機器の画像表示を制御する表示コントローラーに含まれるSRAM(画像メモリー)を模式的に示す。図1(A)に示すように、SRAMには、表示コントローラーに先に入力された背景画像の画像データが記憶されているものとする。例えば、表示機器の操作メニューをポップアップ表示する場合等、背景画像の一部に画像を上書きしたい場合がある。この場合、本実施形態の比較例では、表示コントローラーに入力された書き込み画像の画像データで、SRAMに記憶された背景画像の画像データの一部を直接上書きする。
【0028】
図1(B)に示すように、SRAMの各アドレスには16ビットのデータが格納されるものとする。例えば、SRAMではマスク信号(LDMQ信号、UDMQ信号)により、各アドレスの上位8ビットへのアクセスを許可するか否か、及び各アドレスの下位8ビットへのアクセスを許可するか否かが設定される。このとき、SRAMへの1回のアクセスで書き換え可能な最小のアクセス単位は8ビット(広義にはLビット。Lは2以上の自然数)となる。そうすると、画像データの1画素が例えば1ビット(広義にはNビット。NはN<Lを満たす自然数)のデータで構成される場合には、8画素毎にしかSRAMの画像データを書き換えられなくなってしまう。
【0029】
そのため、図1(C)に示すように、背景画像に対して書き込み画像を挿入する位置を8画素毎にしか調整できなくなってしまう。また、図1(D)に示すように、背景画像に対して円形等の図形を挿入しようとしても、滑らかな円形を挿入できなくなってしまう。このように、書き込み画像をSRAMに直接上書きすると、SRAMのアクセス単位(Lビット)より小さい単位で上書きできないという問題がある。
【0030】
2.構成例
図2に、SRAM(広義には画像メモリー)のアクセス単位(Lビット)より小さい単位(Mビット。MはL>M≧Nを満たす自然数)で書き換え可能である本実施形態の表示コントローラーの構成例を示す。この表示コントローラー100(広義には、集積回路装置)は、ホストI/F回路110(ホストインターフェース回路)、画像処理回路120、メモリーコントローラー140(メモリーインターフェース回路)、表示制御回路150、リードモディファイライト回路160、内部バス180を含む。なお、本実施形態はこの構成に限定されず、その構成要素の一部(例えば、画像処理回路)を省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0031】
表示コントローラー100は、ホスト10から入力された背景画像データ(第1の画像データ)を画像メモリー20に記憶する。そして、ホスト10から入力された書き込み画像データ(第2の画像データ)に基づいて、画像メモリー20に記憶された背景画像データを書き換えることで、背景画像に対する書き込み画像の挿入を行う。
【0032】
具体的には、ホストI/F回路110は、ホスト10(ホスト装置、外部装置)との種々のインターフェース処理を行い、ホスト10からの背景画像データ及び書き込み画像データを受信する。例えば、ホストI/F回路110は、背景画像データ及び書き込み画像データをストリーム画像データとして受信する。ホスト10とホストI/F回路110とは、例えばシリアルバスまたはパラレルバスにより接続される。そして、ホストI/F回路110は、ホスト10との間でデータ信号、アドレス信号、或いはライト/リード信号等のインターフェース信号のやり取りを行って、ホスト10との間のインターフェースを実現する。
【0033】
画像処理回路120は、ホストI/F回路110により受信した画像(画像データ)の画像処理を行う。例えば、画像処理回路120は、画像の回転、平滑化、トリミング、輝度強調、または色彩強調などの処理を行う。画像処理回路120は、図示しないラインバッファを含んでもよい。このラインバッファは、例えばSRAMにより構成され、画像メモリー20に対して転送する画像データをバッファリング(一時的に記憶)する。
【0034】
リードモディファイライト回路160は、画像処理回路120からの背景画像データを画像メモリー20に転送する。そして、リードモディファイライト回路160は、画像メモリー20から背景画像データを読み出し、その読み出したデータを画像処理回路120からの書き込み画像データに基づいて書き換え、書き換えたデータを画像メモリー20に書き込む。具体的には、リードモディファイライト回路160は、ライトイネーブル信号に基づいて背景画像データの書き換えを行う。ライトイネーブル信号は、例えばホスト10から供給される信号、あるいは画像処理回路120により生成される信号であり、書き込み画像データの各画素に対応するビットにより構成される。そして、このライトイネーブル信号により、背景画像データの各画素の書き換えを行うか否かが設定される。本実施形態では、リードモディファイライト回路160は、このライトイネーブル信号を用いて書き換えを制御することで、画像メモリー20のアクセス単位より小さい単位で背景画像を書き換えることができる。
【0035】
メモリーコントローラー140は、内部バス180とのインターフェース処理や、画像メモリー20に対するリード/ライト制御を行う。具体的には、メモリーコントローラー140は、リードモディファイライト回路160からの画像データを受けて、その画像データを画像メモリー20に書き込む(格納する)。また、メモリーコントローラー140は、画像メモリー20に記憶された画像データを読み出し、読み出したデータを表示制御回路150に転送(送信)する。メモリーコントローラー140は、例えば、開始アドレスを指定してバーストモードによりリード/ライト制御を行ってもよく、各アドレス個別にリード/ライト制御を行ってもよい。
【0036】
ここで、画像メモリー20(ビデオメモリー、VRAM)は、例えばSRAM等により構成され、電気光学装置30に表示する画像の画像データを記憶するためのものである。この画像メモリー20は、表示コントローラー100の外部メモリーとして構成されてもよい。すなわち、画像メモリー20は表示コントローラー100とは別個の集積回路装置として構成されてもよい。あるいは、画像メモリー20は、表示コントローラー100に含まれてもよい。例えば、表示コントローラー100のチップ(ダイ)に画像メモリー20が内蔵されてもよく、表示コントローラー100のチップに画像メモリー20のチップがスタックされてもよい。
【0037】
表示制御回路150は、メモリーコントローラー140からの画像データに基づいて、電気光学装置30の表示制御を行う。例えば、表示制御回路150は、表示データ信号や制御信号(同期信号等)を電気光学装置30に出力する。電気光学装置30は、例えば液晶パネルや電気泳動パネルなどの電気光学パネルと、電気光学パネルのデータ線(ソース線)を駆動するデータードライバー(ソースドライバー)と、電気光学パネルの走査線(ゲート線)を駆動する走査ドライバー(ゲートドライバー)などを含むことができる。
【0038】
なお、上記では、ホスト10からの背景画像データを、画像処理回路120とリードモディファイライト回路160を介して画像メモリー20に書き込む場合を例に説明した。但し、本実施形態では、画像処理回路120が内部バス180と接続されてもよく、ホスト10からの背景画像データをリードモディファイライト回路160を介さずに画像メモリー20に書き込んでもよい。
【0039】
3.動作例
図3(A)、図3(B)、図4を用いて、ライトイネーブル信号を用いて背景画像データを書き換える本実施形態の動作例について説明する。なお以下では、M=Nである場合を例に説明する。すなわち、1画素に1ビットのライトイネーブル信号が対応する場合を例に説明する。但し、本実施形態では、M>N(MはNの自然数倍)であってもよい。すなわち、複数画素に1ビットのライトイネーブル信号が対応してもよい。
【0040】
図3(A)に示すように、書き込み画像データとして8画素×8画素の画像データが供給されるものとし、各画素の画素データは4ビット(広義には、Nビット)のデータにより構成されるものとする。
【0041】
このとき、図3(B)に示すように、8ビット×8ビットの信号(データ)から構成されるライトイネーブル信号が入力される。このライトイネーブル信号の各ビットは、書き込み画像データの各画素に対応する(M=N=4)。そして、ビット値“0”(広義には、第1の論理レベル)は、画素データの書き換えを指示するアクティブのビットを示し、ビット値“1”(広義には、第2の論理レベル)は、画素データの非書き換え(マスク)を指示する非アクティブのビットを示す。
【0042】
図4のA1に示すように、例えば書き込み画像データの16ビット毎に、背景データの書き換えを行うか否かが判断される。この16ビット(広義にはLビット)は、画像メモリー20のアクセス単位であり、例えば画像メモリー20の1アドレスのビット数である。あるいは、画像メモリー20の1アドレスのうちマスク信号でアクセス制御されるビット数である。
【0043】
A2に示すように、16ビットの書き込み画像データに対応する4ビット(L/Mビット)の全てのライトイネーブル信号が“1”の場合には、背景データの書き換えは行われない。A3に示すように、4ビットのライトイネーブル信号に“0”と“1”が混在する場合には、画像メモリー20から背景画像データが読み出される。そして、ライトイネーブル信号の“0”に対応する背景画像データの画素データが、書き込み画像データの画素データに書き換えられる。ライトイネーブル信号の“1”に対応する背景画像データの画素データは、背景画像データの画素データがそのまま用いられる。そして、書き換え後のデータは、画像メモリー20の元のアドレスに格納される。A4に示すように、4ビットの全てのライトイネーブル信号が“0”の場合には、背景画像データの読み出しを行わず、書き込み画像データを画像メモリー20の対応するアドレスに書き込む。
【0044】
なお、図4では、1個のライトイネーブル信号が1ビットのデータで構成される場合を例に説明した。但し、本実施形態では、1個のライトイネーブル信号が複数ビットのデータで構成されてもよい。
【0045】
さて、比較例で上述したように、画像メモリーに記憶された背景画像データを書き込み画像データで直接上書きすると、画像メモリーのアクセス単位(Lビット)より小さい単位で上書きできないという問題がある。
【0046】
この点、本実施形態によれば、背景画像データの各画素のビット数がNビットであり、背景画像データの書き換え単位ビット数がMビット(L>M≧N)であり、メモリーコントローラー140の画像メモリー20に対する1回にアクセス可能なビット数がLビットである場合に、そのLビットに対応するL/M個のライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する背景画像データの画素データが、書き込み画像データの対応する画素データに書き換えられる。
【0047】
例えば、図4で上述したように、画像メモリー20の1アドレスの16ビット(Lビット)毎にアクセスして書き換えを行う場合、L/M=4ビットのライトイネーブル信号に基づいてL=16ビットの背景画像データがM=N=4ビットの画素データ毎に書き換えられる。
【0048】
このようにすれば、ライトイネーブル信号に基づいて画像メモリー20に記憶された背景画像データが書き換えられることで、画像メモリー20のアクセス単位より小さい単位(Mビット)で背景画像データを上書きできる。
【0049】
より具体的には、本実施形態では、L/M個のライトイネーブル信号がアクティブ(“0”)と非アクティブ(“1”)の混在である場合には、読み出した背景画像データのうちのアクティブに対応する画素データを書き換えることで、画素データの書き換えを行う。また、L/M個のライトイネーブル信号の全てがアクティブ(“0”)である場合には、書き込み画像データを直接画像メモリー20に書き込むことで、画素データの書き換えを行う。
【0050】
このようにすれば、書き込み画像データとライトイネーブル信号に基づいて、背景画像データを画素毎に書き換えることができる。具体的には、背景画像データの各画素に対応するL/Mビットのライトイネーブル信号に基づいて、背景画像データのLビットを、画像メモリー20のアクセス単位より小さい単位で書き換えることができる。
【0051】
また、本実施形態では、L/N個のライトイネーブル信号が非アクティブ(“1”)の場合には、背景画像データの対応する画素データを書き換えない。具体的には、図4等で説明したように、画像メモリー20からの背景画像データの読み出しや、画像メモリー20に対する書き込みを行わない。
【0052】
このようにすれば、画像メモリー20の1回にアクセス可能なLビットが書き換え不要な場合に、そのLビットの背景画像データを書き換えないことができる。また、書き換え不要時に画像メモリー20に対するアクセスを行わないことで、余分なアクセスを省略できる。
【0053】
4.リードモディファイライト回路
図5に、上述の動作例を実現できるリードモディファイライト回路160の詳細な構成例を示す。このリードモディファイライト回路160は、制御回路CT、FIFO回路BA1(広義には、第1のバッファー)、FIFO回路BE(広義には、バッファー)、書き換え回路WRC、バスコントローラーCBSを含む。なお、本実施形態のリードモディファイライト回路160は、この構成に限定されず、その構成要素の一部(例えば、FIFO回路BE、バッファーBT)を省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0054】
FIFO回路BA1は、書き込み画像データPDを受けて、書き換え対象の書き込み画像データQB1を書き換え回路WRCに対して出力する。また、FIFO回路BA1は、ホストからの背景画像データが入力された場合には、そのデータを書き換え回路WRCに出力せず、バスコントローラーCBSに出力する。ここで、書き換え対象の書き込み画像データQB1は、例えばFIFO回路BA1の1アドレス分のデータである。あるいは、FIFO回路BA1に記憶されたデータのうち最も古く入力されたデータ、またはFIFO回路BA1の最下段(または最上段)に到達したデータである。
【0055】
FIFO回路BEは、ライトイネーブル信号WEを受けて、書き換え対象のデータQB1に対応するライトイネーブル信号QBEを書き換え回路WRCに対して出力する。例えば、ライトイネーブル信号QBEは、FIFO回路BEに記憶されたデータのうち最も古く入力されたデータ、あるいはFIFO回路BEの最下段(または最上段)に到達したデータである。
【0056】
書き換え回路WRCは、画像メモリー20から読み出された書き換え対象の背景画像データRDを、書き込み画像データQB1とライトイネーブル信号QBEに基づいて書き換える。そして、書き換え回路WRCは、書き換え後の画像データQBTを、FIFO回路BA1の書き込み画像データQB1が格納されるアドレスに書き込む(上書きする)。FIFO回路BA1に書き込まれた書き換え後の画像データは、FIFO回路BA1からバスコントローラーCBSを介して画像メモリー20に転送される。
【0057】
より具体的には、書き換え回路WRCは、セレクターSELと、バッファーBTを含む。セレクターSELは、FIFO回路BEからのライトイネーブル信号QBEに基づいて、FIFO回路BA1からの書き込み画像データQB1または画像メモリー20からの背景画像データRDの一方を選択する。バッファーBTは、セレクターSELにより選択されたデータを記憶する。例えば、バッファーBTは、FIFO回路BA1の1アドレス分のデータを記憶するレジスターやメモリーにより構成される。
【0058】
制御回路CTは、例えばシーケンサーにより構成され、リードモディファイライト回路160の各構成要素を制御する。例えば、ライトイネーブル信号WEに基づいて、背景画像データの書き換えが必要か否かの判断を行い、書き換えが必要な場合には、書き換え回路WRCに対して書き換えを指示する。また、FIFO回路BA1、BEのデータ入力タイミングやデータ出力タイミングを制御したり、書き換え回路WRCの書き換えタイミングを制御する。
【0059】
バスコントローラーCBSは、内部バス180に接続される各構成要素間のデータ転送(データ通信)を制御する。例えば、メモリーコントローラー140に対してリードコマンドやライトコマンド、リクエスト信号、データ信号、アドレス信号等を送信して、画像データの転送を行う。バスコントローラーCBSは、FIFO回路BA1と画像メモリー20との間でバーストモードのデータ転送を行ってもよく、各アドレス毎のデータ転送を行ってもよい。
【0060】
5.リードモディファイライト処理
図6〜図8を用いて、上述の詳細な構成例のリードモディファイライト処理の動作例について説明する。図6には、背景画像データの読み出しの動作例を模式的に示す。なお、以下では、上述のFIFO回路BA1の各アドレスには64ビット(広義には、k×Lビット。kは自然数)のデータが格納され、各段には2×64ビット(広義には、n×k×Lビット。nは自然数)のデータが格納されるものとする。そして、最下段の2×64ビットのデータが、書き換え後に画像メモリー20にバースト転送されるものとする。
【0061】
図6のB1には、FIFO回路BA1の最下段の書き込み画像データを示す。図6では、1マスが16ビットのデータを表し、画像メモリー20の1アドレスが16ビット(広義には、Lビット)であるものとする。また、画像データの1画素が4ビット(広義には、Nビット)であるものとする。B2には、FIFO回路BEの最下段のライトイネーブル信号を示す。図6では、1マスが4ビットのライトイネーブル信号を表す。そして、マスの中の「1」は4ビットとも“1”であることを示し、「0」は4ビットとも“0”であることを示し、「1/0」は“1”と“0”の混在であることを示す。FIFO回路BA1の1アドレスに対応するライトイネーブル信号の数は16個(広義には、k×L/M個)である。
【0062】
B3に示すように、背景画像データの読み出し動作において、画像メモリーからの読み出しをリクエストするリクエスト信号RQが出力される。このリクエスト信号RQは、FIFO回路BEの最下段のライトイネーブル信号に対応する信号である。具体的には、画像メモリーの1アドレスに対応する4ビットのライトイネーブル信号が“1”と“0”の混在である場合に、そのアドレスに対応するリクエスト信号がアクティブにされる。そして、B4に示すように、レディ信号RDYがメモリーコントローラーから送信され、B5に示すように、リクエストしたアドレスの背景画像データRDが読み出される。B6に示すように、読み出し終了後に書き換えのトリガー信号がアクティブにされる。
【0063】
図7には、読み出した背景画像データの書き換え動作例を模式的に示す。図7のC1に示すように、FIFO回路BA1の最下段のデータのうち1アドレス分のデータQB1がセレクターSELに入力される。C2、C3に示すように、QB1に対応する背景データRD、ライトイネーブル信号QBEがセレクターSELに入力される。そして、C4に示すように、セレクターSELにより選択されたデータがバッファーBTにバッファリングされる。C5に示すように、バッファーBTのデータが、FIFO回路BA1の最下段の対応するアドレスに格納される。
【0064】
図8には、書き換え後のデータの画像メモリーへの書き込み動作例を模式的に示す。図8のD1に示すように、画像メモリーへの書き込みをリクエストするリクエスト信号RQが出力される。このリクエスト信号RQは、FIFO回路BEの最下段のライトイネーブル信号に対応する信号である。具体的には、画像メモリーの1アドレスに対応する4ビットのライトイネーブル信号が、“1”と“0”の混在である場合と“0”だけである場合に、そのアドレスに対応するリクエスト信号がアクティブにされる。そして、リクエスト信号RQがアクティブにされた画像メモリーのアドレスに、FIFO回路BA1からの画像データが書き込まれる。
【0065】
以上説明したように、本実施形態によれば、書き込み画像データをバッファリングするFIFO回路BA1を含む。そして、書き換え後の背景画像データをFIFO回路BA1に対して、k×Lビット単位で書き込む。例えば、図6等で説明したように、FIFO回路BA1の1アドレスのビット数である64ビット単位で書き込む。
【0066】
このようにすれば、FIFO回路BA1を、背景画像データのバッファリングと、書き換え後の背景画像データの記憶とに共用することができる。また、書き換え後の背景画像データがFIFO回路BA1に書き込まれることで、その背景画像データを画像メモリー20に転送することができる。
【0067】
なお、本実施形態では、FIFO回路BEの最下段のライトイネーブル信号が“1”だけの場合には、上述の書き換え動作を行わなくてもよい。この場合、FIFO回路BA1の最下段の書き換え画像データがそのまま画像メモリー20に転送されてもよい。このようにすれば、不要な書き換え動作を省略し、リードモディファイライト処理を高速化できる。
【0068】
また、本実施形態では、FIFO回路BA1の1アドレスのビット数がk×Lビットであり、FIFO回路BA1のn×k×Lビットのデータが画像メモリー20に対してバーストモードで転送される。
【0069】
このようにすれば、画像メモリーの1アドレス(Lビット)毎に読み出しと書き換えを行う必要が無く、リードモディファイライト処理を高速化できる。すなわち、各アドレス毎に読み出す場合には、画像メモリーからの読み出す際のレイテンシー(リクエストから読み出しデータが送信されるまでの遅延時間)が、各アドレス毎に生じる。一方、バースト転送すれば、1回のバースト転送につき1回のレイテンシーしか生じず、読み出し時間を節約できる。
【0070】
また、本実施形態では、画像メモリー20から背景画像データを読み出すときに、メモリーコントローラー140に対してn×k×Lビット分のリクエスト信号が送信される。例えば、図6等で説明したように、2×64ビットの書き込み画像データに対応するリクエスト信号RQが送信される。
【0071】
このようにすれば、n×k×Lビットの書き込み画像データに対応するn×k×Lビットの背景画像データを画像メモリー20からバーストモードで読み出すことができる。
【0072】
具体的には、本実施形態では、n×k×Lビット分のリクエスト信号としてn×k個のリクエスト信号が送信される。そして、書き込み画像データのLビットに対応するライトイネーブル信号が非アクティブの場合には、n×k個のリクエスト信号のうちの対応するリクエスト信号が非アクティブにされる。例えば、図6等で説明したように、2×64/16=8個のリクエスト信号RQが送信され、L=16ビットの書き込み画像データに対応するライトイネーブル信号の4ビット全てが“1”の場合には、対応するリクエスト信号RQが非アクティブにされる。
【0073】
このようにすれば、画像メモリー20の各アドレスの背景画像データのうち、書き換えが必要なアドレスの背景画像データだけを読み出すことができる。すなわち、ライトイネーブル信号が“0”と“1”の混在データであり、画素毎の書き換えが必要な背景画像データだけを画像メモリー20から読み出すことができる。
【0074】
なお、本実施形態では、FIFO回路BA1は、可変の段数をm(mは自然数)とする場合に、n×mが一定となるようにバーストモードによる転送が制御されてもよい。例えば、FIFO回路BA1は、SRAM等のメモリーにより構成されてもよい。そして、1回のバースト転送で転送するアドレス数n(バースト数)に反比例するようにFIFOの段数mを変化させるアドレス制御を行うことで、n×mが一定となるようにバーストモードによる転送が制御されてもよい。
【0075】
このようにすれば、FIFO回路BA1から画像メモリー20へのバースト数nを可変にできる。また、n×mが一定となるようにバーストモードによる転送が制御されることで、FIFO回路BA1の回路資源を有効に活用できる。
【0076】
6.第2の構成例
図9に、本実施形態の表示コントローラーの第2の構成例を示す。図9に示す表示コントローラー100(広義には集積回路装置)は、ホストI/F回路110、FIFO回路BA2(広義には、第2のバッファー回路)、画像処理回路120、メモリーコントローラー140、表示制御回路150、リードモディファイライト回路160、内部バス180を含む。なお、以下では、図2等で説明したホストI/F回路等の構成要素には同一の符号を付し、適宜説明を省略する。ここで、本実施形態はこの構成に限定されず、その構成要素の一部(例えば、画像処理回路)を省略したり、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0077】
FIFO回路BA2は、ホスト10(外部)からの画像データをバッファリング(一時的に記憶)し、バッファリングした画像データを画像処理回路120に対して出力する。また、FIFO回路BA2は、ホスト10(外部)からストリーム画像データとして供給される画像データをアンパック処理する。例えば、図10等で後述するように、アンパック処理として、ストリーム画像データの画素データのフォーマットを変換する処理や、水平走査線毎に画素データを切り分ける処理が行われる。アンパック後のデータは、画像処理回路120が含む図示しないラインバッファに転送される。FIFO回路BA2は、例えば複数のフリップフロップ回路を順次接続したシフトレジスタにより構成される。
【0078】
図10、図11を用いて、FIFO回路BA2の動作例について説明する。図10には画素データのフォーマット変換の動作例を示す。図10のE1に示すように、例えば16ビットのパラレルバスでホスト10からストリーム画像データが供給される。このストリーム画像データの各画素データが1ビット(1bpp:ビットパーピクセル)であるとする。
【0079】
ここで、表示コントローラー100における画像データのフォーマットが、各画素データ4ビット(4bpp)であるとする。そうすると、E2に示すように、ストリーム画像データのフォーマットが1bppから4bppに変換される。例えば、ホストからのストリーム画像データの画素データ“1”を“1111”に、“0”を“0000”に変換する。そして、E3に示すように、フォーマット変換後の64ビットの画像データがFIFO回路BA2に記憶される。E4に示すように、FIFO回路BA2に前回記憶された64ビットの画像データが画像処理回路120に転送される。
【0080】
このように、本実施形態では、背景画像データまたは書き込み画像データとしてストリーム画像データが入力されるFIFO回路BA2を含む。そして、FIFO回路BA2は、ストリーム画像データの各画素データをフォーマット変換して記憶する。
【0081】
このようにすれば、ストリーム画像データのフォーマットを、表示コントローラーで用いるフォーマットに変換できる。例えば、画像メモリー20に記憶する画像データのbppが、ストリーム画像データのbppと異なる場合、そのbppのフォーマット変換を行うことができる。
【0082】
図11には、ストリーム画像データを水平走査線毎に切り分ける処理の動作例を示す。図11のF1に示すように、例えば16画素(64ビット)のうち8画素目に水平走査線の終端があるとする。このとき、F2に示すように、その終端を含む8画素の画素データが画像処理回路120に転送される。残りの8画素の画素データは、例えば“0”で埋められる。そして、F3に示すように、8画素分のデータがシフトされ、F4に示すように、次の水平走査線の最初の16画素の画素データが転送される。
【0083】
F5に示すように、8画素分のデータがシフトされ、F6に示すように、16画素の画像データがホスト10から書き込まれる。そして、F7に示すように、8画素分のデータがシフトされ、F8に示すように、次の16画素の画素データが転送される。以後、同様の動作が繰り返される。
【0084】
このように、本実施形態によれば、FIFO回路BA2には、複数の画素データを含む入力データが書き込まれ、FIFO回路BA2は、その入力データをシリアルに順次シフトする。そして、入力データに水平走査線の終端の画素データが含まれる場合に、次の水平走査線の開始端の画素データがFIFO回路BA2の終端に来るまで入力データがシフトされる(図11のF3)。
【0085】
このようにすれば、16ビットのパラレルデータとして入力されるストリーム画像データを、水平走査線毎の画素データに切り分けることができる。これにより、簡素な動作で水平走査線の切り分けが可能となり、ストリーム画像データの転送を高速化できる。そのため、ホスト10からのストリーム画像データの転送レートの向上を図り、ホスト10のバス(CPUバス)の占有時間を短縮できる。また、ホスト10からのストリーム画像データの転送を途中で切断しない仕様が要求される場合には、転送の高速化により仕様を満たす設計を容易化できる。
【0086】
7.電子機器
図12に、本実施形態の表示コントローラーを含む電子機器の構成例を示す。この電子機器は、ホスト10、表示コントローラー100(集積回路装置)、電気光学装置30、記憶部60、操作部70、通信部80を含む。なお、本実施形態はこの構成例に限定されず、その構成要素の一部を省略したり(例えば、通信部)、他の構成要素を追加したりする等の種々の変形実施が可能である。
【0087】
本実施形態の電子機器として、例えば、携帯電話端末、携帯情報端末、電子ブック端末、携帯ゲーム端末、デジタルフォトフレーム等への適用が想定できる。
【0088】
ホスト10は、例えばCPUで実現され、表示コントローラー100にストリーム画像データを供給したり、各構成要素の制御を行う。表示コントローラー100は、例えばASICで実現され、電気光学装置30に表示データを供給したり、電気光学装置30の表示制御を行う。電気光学装置30は、ドライバー32、電気光学パネル34を含む。ドライバー32は、データ電圧や走査信号を出力して電気光学パネル34を駆動する。電気光学パネル34は、例えば液晶パネルや電気泳動パネル(EPD:Electrophoretic Display)で実現される。記憶部60は、例えば、ROM、RAM等のメモリーや、ハードディスクドライブにより実現され、ホスト用のプログラムを記憶したり、ホストのワーキングメモリとして機能したり、ビデオメモリーとして機能したりする。操作部70は、例えば各種ボタン、タッチパネルにより構成され、操作情報が入力される。通信部80は、無線通信や有線通信により、画像データや動画データを取得する。
【0089】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語(集積回路装置、非アクティブ、アクティブ等)と共に記載された用語(表示コントローラー、第1の論理レベル、第2の論理レベル等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また集積回路装置、電気光学装置、電子機器等の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
【符号の説明】
【0090】
10 ホスト、20 画像メモリー、30 電気光学装置、32 ドライバー、
34 電気光学パネル、60 記憶部、70 操作部、80 通信部、
100 表示コントローラー、110 ホストI/F回路、120 画像処理回路、
140 メモリーコントローラー、150 表示制御回路、
160 リードモディファイライト回路、180 内部バス、
BA1 第1のバッファー、BA2 第2のバッファー、WRC 書き換え回路、
SEL セレクター、BT バッファー、制御回路CT、PD 2の画像データ、
WE ライトイネーブル信号、CBS バスコントローラー、RQ リクエスト信号

【特許請求の範囲】
【請求項1】
第1の画像データを記憶する画像メモリーとのインターフェース処理を行うメモリーコントローラーと、
第2の画像データとライトイネーブル信号に基づいて、前記画像メモリーに記憶された前記第1の画像データを書き換えるリードモディファイライト回路と、
を含み、
前記リードモディファイライト回路は、
前記第1の画像データの各画素のビット数がNビット(Nは自然数)であり、前記第1の画像データの書き換え単位ビット数がMビット(MはM≧Nの自然数)であり、前記メモリーコントローラーの前記画像メモリーに対する1回にアクセス可能なビット数がLビット(LはL>Mを満たす2以上の自然数)である場合に、前記Lビットに対応するL/M個(L、MはそれぞれNの自然数倍)の前記ライトイネーブル信号のうちのアクティブのライトイネーブル信号に対応する前記第1の画像データの画素データを、前記第2の画像データの対応する画素データに書き換えることを特徴とする集積回路装置。
【請求項2】
請求項1において、
前記リードモディファイライト回路は、
前記Lビットに対応するL/M個の前記ライトイネーブル信号が非アクティブの場合には、前記第1の画像データのうちの対応する画素データを書き換えないことを特徴とする集積回路装置。
【請求項3】
請求項1または2において、
前記リードモディファイライト回路は、
前記第2の画像データをバッファリングする第1のバッファーを含み、
前記第1のバッファーには、
書き換え後の前記第1の画像データが書き込まれることを特徴とする集積回路装置。
【請求項4】
請求項3において、
前記第1のバッファーは、
1アドレスのビット数がk×Lビット(kは自然数)であり、n×k×Lビット(nは2以上の自然数)のデータを前記画像メモリーに対してバーストモードで転送することを特徴とする集積回路装置。
【請求項5】
請求項4において、
前記リードモディファイライト回路は、
前記画像メモリーから前記第1の画像データを読み出すときに、前記メモリーコントローラーに対してn×k×Lビット分のリクエスト信号を送信することを特徴とする集積回路装置。
【請求項6】
請求項5において、
前記リードモディファイライト回路は、
前記n×k×Lビット分のリクエスト信号としてn×k個のリクエスト信号を送信し、前記Lビットに対応する前記ライトイネーブル信号が非アクティブの場合には、前記n×k個のリクエスト信号のうちの対応するリクエスト信号を非アクティブにすることを特徴とする集積回路装置。
【請求項7】
請求項4乃至6において、
前記第1のバッファーは、
第1のFIFOにより構成され、
前記第1のFIFOは、
可変の段数をm(mは自然数)とする場合に、n×mが一定となるように前記バーストモードによる転送が制御されることを特徴とする集積回路装置。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記第1の画像データまたは前記第2の画像データとしてストリーム画像データが入力される第2のバッファーを含み、
前記第2のバッファーは、
前記ストリーム画像データの各画素データのフォーマットを、前記画像メモリーに記憶される画素データのフォーマットに変換して記憶することを特徴とする集積回路装置。
【請求項9】
請求項8において、
前記第2のバッファーは、
前記ストリーム画像データとして複数の画素データを含む入力データが書き込まれ、前記入力データをシリアルに順次シフトする第2のFIFOにより構成され、
前記第2のFIFOは、
前記入力データに水平走査線の終端の画素データが含まれる場合に、次の水平走査線の開始端の画素データが前記第2のFIFOの終端に来るまで前記入力データをシフトすることで、前記ストリーム画像データを水平走査線毎に切り分けることを特徴とする集積回路装置。
【請求項10】
請求項1乃至9に記載の集積回路装置を含むことを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−107437(P2011−107437A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−262667(P2009−262667)
【出願日】平成21年11月18日(2009.11.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】