(57)【要約】      （修正有）【課題】  メモリの使用効率の向上やアドレッシングの簡素化を図れるメモリコントローラ、表示コントローラ、メモリ制御方法を提供すること。【解決手段】  メモリコントローラ３０は、第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データが入力された場合に、入力された画素データを、第１の色成分のビット数がＪ１ビット、第２の色成分のビット数がＪ２ビット、第３の色成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、第１の色成分のビット数がＫ１ビット、第２の色成分のビット数がＫ２ビット、第３の色成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割する分割部４０と、メモリの基本データ格納領域に基本データ部分を書き込み、拡張データ格納領域に拡張データ部分を書き込むためのアクセスアドレスを生成するアドレスジェネレータ６０を含む。【選択図】        図１４
2006184792.tif 000002
【特許請求の範囲】
【請求項１】
画素データを記憶するメモリのアクセス制御を行うメモリコントローラであって、
第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データが入力された場合に、入力された前記画素データを、第１の色成分のビット数がＪ１ビット、第２の色成分のビット数がＪ２ビット、第３の色成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、第１の色成分のビット数がＫ１ビット、第２の色成分のビット数がＫ２ビット、第３の色成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割する分割部と、
メモリの基本データ格納領域に前記基本データ部分を書き込み、拡張データ格納領域に前記拡張データ部分を書き込むためのアクセスアドレスを生成するアドレスジェネレータと、
を含むことを特徴とするメモリコントローラ。
【請求項２】
請求項１において、
前記第１の色成分、前記第２の色成分、前記第３の色成分はＲ成分、Ｇ成分、Ｂ成分であり、
前記分割部は、
Ｉ１＝Ｉ２＝Ｉ３＝６であるＲＧＢ６６６フォーマットの画素データが入力された場合には、前記ＲＧＢ６６６フォーマットの画素データを、Ｊ１＝５、Ｊ２＝６、Ｊ３＝５であるＲＧＢ５６５フォーマットの基本データ部分と、Ｋ１＝１、Ｋ２＝０、Ｋ３＝１である拡張データ部分に分割することを特徴とするメモリコントローラ。
【請求項３】
請求項１又は２において、
前記第１の色成分、前記第２の色成分、前記第３の色成分はＲ成分、Ｇ成分、Ｂ成分であり、
前記分割部は、
Ｉ１＝Ｉ２＝Ｉ３＝８であるＲＧＢ８８８フォーマットの画素データが入力された場合には、前記ＲＧＢ８８８フォーマットの画素データを、Ｊ１＝５、Ｊ２＝６、Ｊ３＝５であるＲＧＢ５６５フォーマットの基本データ部分と、Ｋ１＝３、Ｋ２＝２、Ｋ３＝３である拡張データ部分に分割することを特徴とするメモリコントローラ。
【請求項４】
請求項２又は３において、
Ｉ１＝５、Ｉ２＝６、Ｉ３＝５であるＲＧＢ５６５フォーマットの画素データが入力された場合には、入力された前記ＲＧＢ５６５フォーマットの画素データを、前記基本データ格納領域に書き込むことを特徴とするメモリコントローラ。
【請求項５】
請求項１乃至４のいずれかにおいて、
メモリに対してアクセス要求する複数のアクセス要求ブロックから出力される画素データのいずれかを選択し、前記分割部に対して出力するマルチプレクサを含むことを特徴とするメモリコントローラ。
【請求項６】
請求項１乃至５のいずれにおいて、
前記基本データ格納領域に格納される基本データ部分と、前記拡張データ格納領域に格納される拡張データ部分とを結合し、第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データを出力する結合部を含むことを特徴とするメモリコントローラ。
【請求項７】
請求項６において、
前記結合部から出力される画素データを、メモリに対してアクセス要求する複数のアクセス要求ブロックのいずれかに出力するデマルチプレクサを含むことを特徴とするメモリコントローラ。
【請求項８】
請求項１乃至７のいずれかにおいて、
減色モードの場合には、前記基本データ格納領域に格納される基本データ部分を読み出して、減色モードの画素データとして出力することを特徴するメモリコントローラ。
【請求項９】
請求項１乃至８のいずれかにおいて、
補色モードの場合には、基本データ部分と補色データ部分とにより構成される補色モードの画素データを生成するために、前記基本データ格納領域に格納される前記基本データ部分を読み出すことを特徴とするメモリコントローラ。
【請求項１０】
請求項９において、
読み出された前記基本データ部分に基づいて前記補色データ部分を生成することを特徴とするメモリコントローラ。
【請求項１１】
請求項９又は１０において、
前記補色モードの場合には、生成された前記補色データ部分を前記拡張データ格納領域に書き込むことを特徴するメモリコントローラ。
【請求項１２】
請求項１乃至１１のいずれかのメモリコントローラと、
表示デバイスとのインターフェース処理を行う表示デバイスインターフェースと、
を含むことを特徴とする表示コントローラ。
【請求項１３】
請求項１２におい
ホストプロセッサと２Rビットのバスを介して接続され、前記ホストプロセッサとのインターフェース処理を行うホストインターフェースを含むことを特徴とする表示コントローラ。
【請求項１４】
請求項１乃至１１のいずれかのメモリコントローラと、
前記基本データ格納領域、前記拡張データ格納領域が確保される少なくとも１つのメモリと、
を含むことを特徴とする表示コントローラ。
【請求項１５】
画素データを記憶するメモリの制御方法であって、
第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データが入力された場合に、入力された前記画素データを、第１の色成分のビット数がＪ１ビット、第２の色成分のビット数がＪ２ビット、第３の色成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、第１の色成分のビット数がＫ１ビット、第２の色成分のビット数がＫ２ビット、第３の色成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割し、
メモリの基本データ格納領域に前記基本データ部分を書き込み、拡張データ格納領域に前記拡張データ部分を書き込むことを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ、表示コントローラ及びメモリ制御方法に関する
【背景技術】
【０００２】
コンピュータでは、一般的に、８ビット、１６ビットなどの２のべき乗のビット数のデータ、アドレスを使用する。これに対して、ＬＣＤ（Liquid Crystal Display）などの表示デバイスでは、２のべき乗のビット数ではない画素データが使用される場合が多い。
【０００３】
例えば図１（Ａ）に１８ｂｐｐ（bit per pixel）、ＲＧＢ６６６フォーマットの例を示す。ＲＧＢ６６６フォーマットでは、画素のＲ、Ｇ、Ｂ成分のビット数が全て６ビットであり、これにより２６万２１４４色の表現が可能になる。
【０００４】
このＲＧＢ６６６フォーマットの画素データは１８ビットデータであり、２のべき乗のビット数のデータではない。コンピュータが取り扱い易いデータとするためには、画素データは１６ビットなどの２のべき乗のビット数のデータ（例えばＲＧＢ５６５フォーマット）であることが望ましい。ところが、画素データが１６ビットであると、６万５５３６色の表現しかできないため、高精細な画像表現を実現できない。従って、高精細な画像表現を重視する場合には、図１（Ａ）のようなＲＧＢ６６６フォーマットが使用されることになる。
【０００５】
さて、このような２のべき乗のビット数ではないＲＧＢフォーマットの画素データをメモリに格納する技術として以下のような背景技術が考えられる。
【０００６】
第１の背景技術では図１（Ｂ）に示すように、画素データを色成分ごとに分割し、各色成分のデータを、例えば３２ビットのワード長のメモリにバイト（８ビット）境界で格納する。しかしながらこの第１の背景技術では、図１（Ａ）のようなＲＧＢ６６６フォーマット（１８ｂｐｐ）の画素データを格納するのに、３バイトの領域が必要になってしまう。つまり、各画素毎に６ビットの領域が無駄になってしまい、メモリの使用効率が低下する。
【０００７】
第２の背景技術では図２に示すように、画素データの境界や色成分を意識せずに、画素データを先頭から隙間無く詰めて格納する。この第２の背景技術では、全ての画素データの格納に必要なビット数は、１画素あたりのビット数×画素数になるため、図１（Ｂ）の第１の背景技術に比べてメモリの使用効率は高い。しかしながら、図２から明らかなように、特定の画素や色成分にアクセスするためのアドレッシングが非常に複雑化する。
【０００８】
第３の背景技術では図３（Ａ）に示すように、そのワード長が画素データのビット数の整数倍になる特別なメモリに、画素データを記憶する。例えば図３（Ａ）では、画素データのビット数は１８ビットであるため、ワード長が３６ビットのメモリに画素データを記憶している。この第３の背景技術では、使用しない無駄な領域も発生せず、アドレッシングも容易になるが、ワード長が３６ビットである特別なメモリが必要になる。このため、製造が難しくなったり、一般的に流通しているメモリ（ワード長のビット数が２のべき乗であるメモリ）を使用できないといった問題がある。
【０００９】
またこの第３の背景技術では、複数種類のＲＧＢフォーマット（ビットモード）をサポートするのが難しいという問題もある。即ちこの第３の背景技術では、ワード長が３６ビットである特別なメモリを使用しているため、図３（Ａ）のようなＲＧＢ６６６（１８ｂｐｐ）フォーマットではアドレッシングを簡素化できるが、図３（Ｂ）のようなＲＧＢ５６５（１６ｂｐｐ）フォーマットではアドレッシングが複雑化してしまう。
【特許文献１】特開２００３−２２３１３４
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、メモリの使用効率の向上やメモリのアドレッシングの簡素化を図れるメモリコントローラ、表示コントローラ、メモリ制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、画素データを記憶するメモリのアクセス制御を行うメモリコントローラであって、第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データが入力された場合に、入力された前記画素データを、第１の色成分のビット数がＪ１ビット、第２の色成分のビット数がＪ２ビット、第３の色成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、第１の色成分のビット数がＫ１ビット、第２の色成分のビット数がＫ２ビット、第３の色成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割する分割部と、メモリの基本データ格納領域に前記基本データ部分を書き込み、拡張データ格納領域に前記拡張データ部分を書き込むためのアクセスアドレスを生成するアドレスジェネレータとを含むメモリコントローラに関係する。
【００１２】
本発明によれば、入力された画素データが、第１、第２、第３の色成分がＪ１、Ｊ２、Ｊ３ビットとなる基本データ部分と、第１、第２、第３の色成分がＫ１、Ｋ２、Ｋ３ビットとなる拡張データ部分に分割される。そして基本データ部分がメモリの基本データ格納領域に書き込まれ、拡張データ部分がメモリの拡張データ格納領域に書き込まれる。この場合に本願発明では、基本データ部分についてはＪ１＋Ｊ２＋Ｊ３＝２Mの関係が成り立ち、拡張データ部分についてはＫ１＋Ｋ２＋Ｋ３＝２Nの関係が成り立つ。従って、基本データ領域や拡張データ領域が格納されるメモリの使用効率を向上できる。またメモリにアクセス要求する際のアドレッシングの簡素化も可能になる。
【００１３】
また本発明では、前記第１の色成分、前記第２の色成分、前記第３の色成分はＲ成分、Ｇ成分、Ｂ成分であり、前記分割部は、Ｉ１＝Ｉ２＝Ｉ３＝６であるＲＧＢ６６６フォーマットの画素データが入力された場合には、前記ＲＧＢ６６６フォーマットの画素データを、Ｊ１＝５、Ｊ２＝６、Ｊ３＝５であるＲＧＢ５６５フォーマットの基本データ部分と、Ｋ１＝１、Ｋ２＝０、Ｋ３＝１である拡張データ部分に分割するようにしてもよい。
【００１４】
このようにすれば、総ビット数が２のべき乗ではないＲＧＢ６６６フォーマットの画素データが入力された場合にも、この画素データを効率良くメモリに格納することが可能になる。また基本データ部分はＲＧＢ５６５フォーマットになるため、この基本データ部分を減色モードなどの他の用途に使用することも可能になる。
【００１５】
また本発明では、前記第１の色成分、前記第２の色成分、前記第３の色成分はＲ成分、Ｇ成分、Ｂ成分であり、前記分割部は、Ｉ１＝Ｉ２＝Ｉ３＝８であるＲＧＢ８８８フォーマットの画素データが入力された場合には、前記ＲＧＢ８８８フォーマットの画素データを、Ｊ１＝５、Ｊ２＝６、Ｊ３＝５であるＲＧＢ５６５フォーマットの基本データ部分と、Ｋ１＝３、Ｋ２＝２、Ｋ３＝３である拡張データ部分に分割するようにしてもよい。
【００１６】
このようにすれば、総ビット数が２のべき乗ではないＲＧＢ８８８フォーマットの画素データが入力された場合にも、この画素データを効率良くメモリに格納することが可能になる。また基本データ部分はＲＧＢ５６５フォーマットになるため、この基本データ部分を減色モードなどの他の用途に使用することも可能になる。
【００１７】
また本発明では、Ｉ１＝５、Ｉ２＝６、Ｉ３＝５であるＲＧＢ５６５フォーマットの画素データが入力された場合には、入力された前記ＲＧＢ５６５フォーマットの画素データを、前記基本データ格納領域に書き込むようにしてもよい。
【００１８】
このようにすれば、ＲＧＢ５６５フォーマットの画素データが入力された場合にも、この画素データを効率良くメモリに格納することが可能になる。また例えばＲＧＢ６６６フォーマットとＲＧＢ５６５フォーマット、或いはＲＧＢ８８８フォーマットとＲＧＢ５６６フォーマット、或いはＲＧＢ６６６フォーマットとＲＧＢ８８８フォーマットとＲＧＢ５６６フォーマットというように、複数種類のフォーマットの画素データの入力をサポートできるようになる。
【００１９】
また本発明では、メモリに対してアクセス要求する複数のアクセス要求ブロックから出力される画素データのいずれかを選択し、前記分割部に対して出力するマルチプレクサを含むようにしてもよい。
【００２０】
このようにすれば、これらの複数のアクセス要求ブロックからの書き込み要求の際のアドレッシングの簡素化等を図れる。
【００２１】
また本発明では、前記基本データ格納領域に格納される基本データ部分と、前記拡張データ格納領域に格納される拡張データ部分とを結合し、第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データを出力する結合部を含むようにしてもよい。
【００２２】
このようにすれば、基本データ格納領域に格納される基本データ部分と拡張データ格納領域に格納される拡張データ部分を自動的に結合して読み出すことが可能になる。
【００２３】
また本発明では、前記結合部から出力される画素データを、メモリに対してアクセス要求する複数のアクセス要求ブロックのいずれかに出力するデマルチプレクサを含むようにしてもよい。
【００２４】
このようにすれば、これらの複数のアクセス要求ブロックからの読み出し要求の際のアドレッシングの簡素化等を図れる。
【００２５】
また本発明では、減色モードの場合には、前記基本データ格納領域に格納される基本データ部分を読み出して、減色モードの画素データとして出力するようにしてもよい。
【００２６】
このようにすれば、簡素な構成・処理で減色モードを実現できる。
【００２７】
また本発明では、補色モードの場合には、基本データ部分と補色データ部分とにより構成される補色モードの画素データを生成するために、前記基本データ格納領域に格納される前記基本データ部分を読み出すようにしてもよい。
【００２８】
このようにすれば、簡素な構成・処理で補色モードを実現できる。
【００２９】
また本発明では、読み出された前記基本データ部分に基づいて前記補色データ部分を生成するようにしてもよい。
【００３０】
このようにすれば補色データ部分の生成処理を簡素化できる。
【００３１】
また本発明では、前記補色モードの場合には、生成された前記補色データ部分を前記拡張データ格納領域に書き込むようにしてもよい。
【００３２】
このようにすれば、生成された補色データ部分を保持して記憶しておくことが可能になる。
【００３３】
また本発明は、上記のいずれかのメモリコントローラと、表示デバイスとのインターフェース処理を行う表示デバイスインターフェースとを含む表示コントローラに関係する。
【００３４】
また本発明では、ホストプロセッサと２Rビットのバスを介して接続され、前記ホストプロセッサとのインターフェース処理を行うホストインターフェースを含むようにしてもよい。
【００３５】
また本発明では、上記のいずれかのメモリコントローラと、前記基本データ格納領域、前記拡張データ格納領域が確保される少なくとも１つのメモリとを含む表示コントローラに関係する。
【００３６】
なお、第１のメモリに基本データ格納領域を確保し、第２のメモリに拡張データ格納領域を確保するというように、基本データ格納領域、拡張データ格納領域を複数の異なるメモリに確保してもよいし、基本データ格納領域、拡張データ格納領域を同一（単一）のメモリに確保してもよい。
【００３７】
また本発明は、画素データを記憶するメモリの制御方法であって、第１の色成分のビット数がＩ１ビット、第２の色成分のビット数がＩ２ビット、第３の色成分のビット数がＩ３ビットである画素データが入力された場合に、入力された前記画素データを、第１の色成分のビット数がＪ１ビット、第２の色成分のビット数がＪ２ビット、第３の色成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、第１の色成分のビット数がＫ１ビット、第２の色成分のビット数がＫ２ビット、第３の色成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割し、メモリの基本データ格納領域に前記基本データ部分を書き込み、拡張データ格納領域に前記拡張データ部分を書き込むメモリ制御方法に関係する。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３９】
１．構成
図４に、本実施形態のメモリコントローラとこれを含む表示コントローラの構成例を示す。なおメモリコントローラ、表示コントローラの構成は図４に限定されず、同図の構成要素の一部を省略したり他の構成要素を加えてもよい。
【００４０】
表示コントローラ１０はホストＩ／Ｆ１２を含む。なお本明細書、図面では「インターフェース」を、適宜、「Ｉ／Ｆ」と略称する。このホストＩ／Ｆ１２は、ホストＣＰＵ１３（広義にはホストプロセッサ）とのインターフェース処理を行う。具体的にはホストＩ／Ｆ１２は、ホストＣＰＵ１３との間でコマンド、データ（画素データ）、ステータスの送信や受信処理を行う。このホストＩ／Ｆ１２とホストＣＰＵ１３は、例えば８ビットや１６ビット（広義には２Rビット）のバス（データバス、アドレスバス、データ／アドレス兼用バス）で接続されている。またホストＣＰＵ１３は、表示コントローラ１０が組み込まれる電子機器（携帯電話機、携帯型情報機器等）の全体的な制御を行ったり、ＭＰＥＧのデコード・エンコード処理を行ったり、ベースバンドエンジン処理を行う。なお表示コントローラ１０に、ＭＰＥＧのデコード・エンコード処理を行わせる回路を含ませてもよい。
【００４１】
表示コントローラ１０は表示デバイスＩ／Ｆ１４（ＬＣＤＩ／Ｆ）を含む。この表示デバイスＩ／Ｆ１４は表示デバイス１５（表示ドライバ、表示パネル）とのインターフェース処理を行う。具体的には、表示デバイス１５に画素データ（画像データ、動画データ、静止画データ）を送信する処理や、表示デバイス１５の各種制御信号を生成する処理などを行う。
【００４２】
表示コントローラ１０はグラフィックエンジン１６（画像処理回路）を含む。このグラフィックエンジン１６は、画像の回転（ミラー）処理や拡大・縮小処理やフィルタ処理（ガンマ補正）などの画像処理を行う。具体的にはホストＣＰＵ１３から入力された画素データ（画像データ）や、図示しないカメラの撮影で得られた画素データは、メモリ２０、２２に書き込まれる。そしてグラフィックエンジン１６は、メモリ２０、２２の画素データの回転処理、拡大・縮小処理などの画像処理を行う。そして画像処理後の画素データはメモリ２０、２２に書き込まれたり、ホストＩ／Ｆ１２を介してホストＣＰＵ１３に転送されたり、表示デバイスＩ／Ｆ１４を介して表示デバイス１５に転送される。
【００４３】
表示コントローラ１０はメモリコントローラ３０を含む。メモリコントローラ３０は、メモリ２０、２２のアクセス（リード、ライトアクセス）制御を行う。即ちメモリコントローラ３０は、ホストＩ／Ｆ１２、表示デバイスＩ／Ｆ１４、グラフィックエンジン１６などのアクセス要求ブロック（周辺回路）からのアクセスを調停する。そしてメモリ２０、２２のリードアドレスやライトアドレスを発生して、メモリ２０、２２からデータ（画素データ）を読み出したり、メモリ２０、２２にデータを書き込む。
【００４４】
表示コントローラ１０はメモリ２０、２２（ＶＲＡＭ）を含む。これらのメモリ２０、２２は画素データ（画像データ、ＲＧＢ、ＹＵＶ）などを記憶する。メモリ２０、２２は、例えばワード長が２Pビット（３２、６４、１２８ビット等）のメモリであり、ＤＲＡＭ、ＳＲＡＭなどにより構成できる。
【００４５】
なおメモリ２０、２２は、図４に示すように表示コントローラ１０の内部に設けられる内蔵メモリであってもよいし、表示コントローラ１０の外部に設けられる外部メモリであってもよい。またメモリ２０、２２は、物理的に異なるメモリであってもよいし、物理的に同一のメモリであってもよい。即ち、メモリ２０に基本データ格納領域を確保し、メモリ２０とは物理的に異なるメモリ２２に拡張データ格納領域を確保してもよい。或いは、同一（単一）のメモリに、基本データ格納領域と拡張データ格納領域を確保してもよい。またメモリ２０、２２に画素データ以外の情報（プログラム、テーブル等）を記憶してもよい。
【００４６】
メモリコントローラ３０は分割部４０（splitter）を含む。この分割部４０（分割回路）は、画素データを、基本データ部分（基本ビットのデータ部分）と拡張データ部分（拡張ビットのデータ部分）に分割する処理を行う。具体的には、Ｒ成分（広義には第１の色成分）のビット数がＩ１ビット、Ｇ成分（広義には第２の色成分）のビット数がＩ２ビット、Ｂ成分（広義には第３の色成分）のビット数がＩ３ビットである画素データ（画像データ）が入力されたとする（例えばＩ１＋Ｉ２＋Ｉ３＝２M＋２N。Ｉ１、Ｉ２、Ｉ３、Ｍ、Ｎは整数）。この場合には、分割部４０は、入力された画素データを、Ｒ（赤）成分のビット数がＪ１ビット、Ｇ（緑）成分のビット数がＪ２ビット、Ｂ（青）成分のビット数がＪ３ビットとなる基本データ部分（Ｊ１＋Ｊ２＋Ｊ３＝２M）と、Ｒ成分のビット数がＫ１ビット、Ｇ成分のビット数がＫ２ビット、Ｂ成分のビット数がＫ３ビットとなる拡張データ部分（Ｋ１＋Ｋ２＋Ｋ３＝２N）に分割する（Ｊ１、Ｊ２、Ｊ３、Ｋ１、Ｋ２、Ｋ３は整数）。そしてメモリコントローラ３０は、分割により得られた基本データ部分を基本データ格納領域（メモリ２０）に書き込み、拡張データ部分を拡張データ格納領域（メモリ２２）に書き込む。なお画素データの分割を２分割ではなく３分割以上にする場合も本発明の範囲に含めることができる。
【００４７】
メモリコントローラ３０は結合部５０（combiner）を含む。この結合部５０（結合回路）は、画素データの基本データ部分と拡張データ部分を結合する処理を行う。具体的には結合部５０は、メモリ２０の基本データ格納領域に格納される基本データ部分と、メモリ２２の拡張データ格納領域に格納される拡張データ部分とを結合する。そしてＲ成分のビット数がＩ１ビット、Ｇ成分のビット数がＩ２ビット、Ｂ成分のビット数がＩ３ビットである画素データを出力する。
【００４８】
メモリコントローラ３０はアドレスジェネレータ６０を含む。このアドレスジェネレータ６０（アドレス生成回路）は、メモリ２０、２２にアクセスするためのアクセスアドレス（ライトアドレス、リードアドレス）を生成する。具体的にはアドレスジェネレータ６０は、基本データ格納領域に基本データ部分を書き込み、拡張データ格納領域に拡張データ部分を書き込むためのアクセスアドレスを生成する。また基本データ格納領域から基本データ部分を読み出し、拡張データ格納領域から拡張データ部分を読み出すためのアクセスアドレスを生成する。
【００４９】
メモリコントローラ３０はメモリＩ／Ｆ７０、７２を含む。このメモリＩ／Ｆ７０はメモリ２０とのインターフェース処理を行うものであり、メモリＩ／Ｆ７２はメモリ２２とのインターフェース処理を行うものである。これらのメモリＩ／Ｆ７０、７２は、メモリ２０、２２の制御信号を生成する回路や、ＳＲＡＭやＤＲＡＭといった様々なタイプのメモリのアクセスサイクルの違いを吸収する回路などを含む。なおメモリＩ／Ｆは、物理的に分割されたメモリ、或いはバンクの構成数などに併せて、複数個設けることができる。
【００５０】
２．動作
次に本実施形態の動作を説明する。図５（Ａ）、図５（Ｂ）、図６に、ホストＩ／Ｆ１２とホストＣＰＵ１３とを結ぶ信号線（バス）の信号波形例を示す。これらの図において、ＣＳ＃、Ｄ／Ｃ＃、ＷＲ＃、ＲＤ＃は、各々、チップセレクト信号、アドレス／データ選択信号、ライト信号、リード信号である。またＤ７〜Ｄ０はバス（アドレス／データ兼用バス）信号である。なお図５（Ａ）〜図６では、バス幅（Ｄ０〜Ｄ７）が８ビットである場合の例を示しているが、バス幅は１６、３２、６４ビットなどであってもよい。
【００５１】
図５（Ａ）は、ホストＣＰＵ１３から転送される画素データがＲＧＢ８８８フォーマット（２４ｂｐｐ）である場合の信号波形例である。図５（Ａ）では、画素ｎのＲ成分の８ビットが第１のライトサイクルで転送され、Ｇ成分の８ビットが第２のライトサイクルで転送され、Ｂ成分の８ビットが第３のライトサイクルで転送される。同様に、次の画素ｎ＋１のＲ成分の８ビットが第４のライトサイクルで転送され、Ｇ成分の８ビットが第５のライトサイクルで転送され、Ｂ成分の８ビットが第６のライトサイクルで転送される。このようにして、Ｒ、Ｇ、Ｂの各成分が８ビットであるＲＧＢ８８８フォーマットの画素データの転送が実現される。
【００５２】
図５（Ｂ）は、ホストＣＰＵ１３から転送される画素データがＲＧＢ６６６フォーマット（１８ｂｐｐ）である場合の信号波形例である。図５（Ｂ）では、画素ｎのＲ成分の６ビットが第１のライトサイクルで転送され、Ｇ成分の６ビットが第２のライトサイクルで転送され、Ｂ成分の６ビットが第３のライトサイクルで転送される。次の画素ｎ＋１についても同様である。
【００５３】
図６は、ホストＣＰＵ１３から転送される画素データがＲＧＢ５６５フォーマット（１６ｂｐｐ）である場合の信号波形例である。図６では、画素ｎのＲ成分の５ビットとＧ成分の３ビットが第１のライトサイクルで転送され、Ｇ成分の３ビットとＢ成分の５ビットを第２のライトサイクルで転送される。次の画素ｎ＋１についても同様である。
【００５４】
図７（Ａ）、（Ｂ）に、表示デバイスＩ／Ｆ１４から表示デバイス１５に出力されるデータ信号のフォーマット例を示す。
【００５５】
図７（Ａ）は、ＲＧＢ８８８フォーマットの画素データを表示デバイス１５に出力する場合の例である。図７（Ａ）では、各々が８ビットのＲ、Ｇ、Ｂ成分からなる２４ビット（２４ｂｐｐ）の画素データが、ＶＤ２３〜ＶＤ０のデータ信号線を介して、各クロックサイクル毎に表示デバイス１５に出力される。
【００５６】
図７（Ｂ）は、ＲＧＢ６６６フォーマットの画素データを表示デバイス１５に出力する場合の例である。図７（Ｂ）では、各々が６ビットのＲ、Ｇ、Ｂ成分からなる１８ビット（１８ｂｐｐ）の画素データが、ＶＤ１７〜ＶＤ０のデータ信号線を介して、各クロックサイクル毎に表示デバイス１５に出力される。なおこの際にＶＤ２３〜ＶＤ１８のデータ信号線はハイインピーダンス状態に設定される。
【００５７】
このように本実施形態では、ＲＧＢ８８８、ＲＧＢ６６６、ＲＧＢ５６５などの様々なフォーマットの画素データの入力が可能になっている。ところが、ＲＧＢ８８８は２４ビットの画素データであり、ＲＧＢ６６６は１８ビットの画素データであり、２のべき乗のビット数のデータではない。
【００５８】
これに対して、ホストＣＰＵ１３は、８ビット、１６ビットなどの２のべき乗のビット数のデータ、アドレスを使用する。またメモリ２０、２２として、特別なメモリを使用しない場合には、そのワード長は２のべき乗のビット数になる。従って、図１（Ａ）〜図３（Ｂ）の背景技術で説明したように、メモリの使用効率が悪化したり、ホストＣＰＵ１３のアドレッシングが複雑化したり、メモリ２０、２２としてワード長のビット数が２のべき乗ではない特別なメモリを使用しなければならないなどの問題が生じる。
【００５９】
特に携帯電話機などにおいては、ホストＣＰＵ１３はベースバンドエンジン処理などの他に行うべき処理が多い。従って、図２のようにアドレッシングが複雑化して、アドレス計算が繁雑化すると、ホストＣＰＵ１３上で動作するプログラム（ファームウェア）の処理負荷が過大となり、システム全体としてのパフォーマンスが低下する。
【００６０】
このような問題を解決するために本実施形態では図８〜図１１に示す手法を採用している。
【００６１】
例えばＲＧＢ６６６フォーマットの入力モードでは、ホストＣＰＵ１３は、ＲＧＢ６６６フォーマットの画素データを書き込むために、図５（Ｂ）に示すような信号波形で画素データをホストＩ／Ｆ１２に送信する。するとホストＩ／Ｆ１２は、受信した画素データをメモリ２０、２２に書き込むために、メモリコントローラ３０にアクセス要求（ライトアクセス要求）を出す。するとメモリコントローラ３０（アービター）は、調停処理を行い、ホストＩ／Ｆ１２からのアクセス要求が認められた場合には、メモリ２０、２２へのアクセス処理を開始する。そしてこの際に、図８に示すように分割部４０が画素データを基本データ部分と拡張データ部分に分割する。
【００６２】
即ちこの場合には図８に示すように入力画素データは、Ｒ成分がＩ１＝６ビット、Ｇ成分がＩ２＝６ビット、Ｂ成分がＩ３＝６ビットのＲＧＢ６６６フォーマットとなっている。分割部４０は、このＲＧＢ６６６フォーマットの画素データを、Ｒ成分がＪ１＝５ビット、Ｇ成分がＪ２＝６ビット、Ｂ成分がＪ３＝５ビットであるＲＧＢ５６５フォーマットの基本データ部分と、Ｒ成分がＫ１＝１ビット、Ｇ成分がＫ２＝０ビット、Ｂ成分がＫ３＝１ビットである２ｂｐｐの拡張データ部分に分割する。具体的には分割部４０は、ＲＧＢ６６６フォーマットの画素データ（Ｒ５〜Ｒ０、Ｇ５〜Ｇ０、Ｂ５〜Ｂ０）のうち、Ｒ成分の最下位ビット（Ｒ０）と、Ｂ成分の最下位ビット（Ｂ０）を削る。そして、残りのデータ部分（Ｒ５〜Ｒ１、Ｇ５〜Ｇ０、Ｂ５〜Ｂ１）を基本データ部分として出力する。また、削られたＲ成分の最下位ビット（Ｒ０）とＢ成分の最下位ビット（Ｂ０）を、拡張データ部分として出力する。
【００６３】
アドレスジェネレータ６０は、基本データ部分（Ｒ５〜Ｒ１、Ｇ５〜Ｇ０、Ｂ５〜Ｂ１）を基本データ格納領域に書き込むためのアクセスアドレス（ライトアドレス）を生成する。そしてこのアクセスアドレスに基づいてメモリＩ／Ｆ７０が、基本データ部分をメモリ２０の基本データ格納領域に書き込む。またアドレスジェネレータ６０は、拡張データ部分（Ｒ０、Ｂ０）を拡張データ格納領域に書き込むためのアクセスアドレスを生成する。そしてこのアクセスアドレスに基づいてメモリＩ／Ｆ７２が、拡張データ部分をメモリ２２の拡張データ格納領域に書き込む。
【００６４】
図９は、図８のように分割された基本データ部分、拡張データ部分が、基本データ格納領域、拡張データ格納領域に格納される様子を示す図である。図９では、２のべき乗である３２ビット（広義には２P）のワード長のメモリに、基本データ格納領域、拡張データ格納領域が確保されている。そして１、２番目の画素データＤ０、Ｄ１の基本データ部分は基本データ格納領域のアドレスＡ０に格納され、３、４番目の画素データＤ２、Ｄ３の基本データ部分は基本データ格納領域のアドレスＡ１に格納される。同様にＤ４、Ｄ５はアドレスＡ２に格納され、Ｄ６、Ｄ７はアドレスＡ３に格納される。一方、１〜８番目の画素データＤ０〜Ｄ７の拡張データ部分については拡張データ格納領域のアドレスＡ０に格納される。
【００６５】
またＲＧＢ８８８フォーマットの入力モードでは、ホストＣＰＵ１３は、ＲＧＢ８８８フォーマットの画素データを書き込むために、図５（Ａ）に示すような信号波形で画素データをホストＩ／Ｆ１２に送信する。すると、分割部４０が図１０に示すように画素データを基本データ部分と拡張データ部分に分割する。
【００６６】
即ちこの場合には図１０に示すように入力画素データは、Ｒ成分がＩ１＝８ビット、Ｇ成分がＩ２＝８ビット、Ｂ成分がＩ３＝８ビットのＲＧＢ８８８フォーマットとなっている。分割部４０は、このＲＧＢ８８８フォーマットの画素データを、Ｒ成分がＪ１＝５ビット、Ｇ成分がＪ２＝６ビット、Ｂ成分がＪ３＝５ビットであるＲＧＢ５６５フォーマットの基本データ部分と、Ｒ成分がＫ１＝３ビット、Ｇ成分がＫ２＝２ビット、Ｂ成分がＫ３＝３ビットである拡張データ部分に分割する。具体的には分割部４０は、ＲＧＢ８８８フォーマットの画素データ（Ｒ７〜Ｒ０、Ｇ７〜Ｇ０、Ｂ７〜Ｂ０）のうち、Ｒ成分の下位ビット（Ｒ２、Ｒ１、Ｒ０）と、Ｇ成分の下位ビット（Ｇ１、Ｇ０）と、Ｂ成分の下位ビット（Ｂ２、Ｂ１、Ｂ０）を削る。そして、残りのデータ部分（Ｒ７〜Ｒ３、Ｇ７〜Ｇ２、Ｂ７〜Ｂ３）を基本データ部分として出力する。また、削られたＲ、Ｇ、Ｂ成分の下位ビット（Ｒ２〜Ｒ０、Ｇ１、Ｇ０、Ｂ２〜Ｂ０）を、拡張データ部分として出力する。そしてこれらの基本データ部分、拡張データ部分は、アドレスジェネレータ６０により生成されたアクセスアドレスに基づいて、基本データ格納領域、拡張データ格納領域に書き込まれる。
【００６７】
図１１は、図１０のように分割された基本データ部分、拡張データ部分が、基本データ格納領域、拡張データ格納領域に格納される様子を示す図である。図１１では、２のべき乗である３２ビットのワード長のメモリに基本データ格納領域、拡張データ格納領域が確保されている。そして１、２番目の画素データＤ０、Ｄ１の基本データ部分は基本データ格納領域のアドレスＡ０に格納される。同様に、Ｄ２、Ｄ３はアドレスＡ１に、Ｄ４、Ｄ５はアドレスＡ２に、Ｄ６、Ｄ７はアドレスＡ３に格納される。一方、１〜４番目の画素データＤ０〜Ｄ３の拡張データ部分については拡張データ格納領域のアドレスＡ０に格納され、５〜８番目の画素データＤ４〜Ｄ７の拡張データ部分については拡張データ格納領域のアドレスＡ１に格納される。
【００６８】
またＲＧＢ５６５フォーマットの入力モードでは、ホストＣＰＵ１３は、ＲＧＢ５６５フォーマットの画素データを書き込むために、図６に示すような信号波形で画素データをホストＩ／Ｆ１２に送信する。
【００６９】
そしてこの場合には図１２に示すように入力画素データは、Ｒ成分がＩ１＝５ビット、Ｇ成分がＩ２＝６ビット、Ｂ成分がＩ３＝５ビットのＲＧＢ５６５フォーマットとなっている。分割部４０は、このＲＧＢ５６５フォーマットの画素データを、そのまま基本データ部分として出力し、この出力された基本データ部分が基本データ格納領域に書き込まれる。即ち図１２、図１３に示すように、ＲＧＢ５６５フォーマットの入力モードでは、拡張データ部分は生成されずに、入力画素データと同一の基本データ部分だけが基本データ格納領域に書き込まれる。
【００７０】
図８〜図１３に示すように本実施形態によれば、画素データのメモリ格納時の並びが規則的になるため、アドレッシングが容易になる。これにより、アドレスジェネレータ６０の構成も簡素化できる。即ち本実施形態によればアドレスジェネレータ６０は、１、２番目の画素データＤ１、Ｄ２の基本データ部分のアドレスとしてＡ０を生成し、３、４番目の画素データＤ３、４の基本データ部分のアドレスとしてＡ１を生成するというようにアクセスアドレスを生成すればよい。従って図２の背景技術に比べてアドレッシングを簡素化できる。
【００７１】
また図３（Ａ）の背景技術のようにワード長のビット数が２のべき乗ではない特別なメモリを使用する手法では、複数種類のＲＧＢフォーマット（ビットモード）をサポートしようとすると、一方のＲＧＢフォーマットではアドレッシングを簡素化できるが、他方のＲＧＢフォーマットではアドレッシングを簡素化できないという問題点がある。
【００７２】
これに対して本実施形態では図８〜図１３に示すように、複数種類のＲＧＢフォーマットをサポートする場合にも、全てのＲＧＢフォーマットにおいてアドレッシングを簡素化することが可能になる。例えば入力画素データが図８のようなＲＧＢ６６６フォーマットである場合にも、図９のように簡素なアドレッシングを実現でき、入力画素データが図１０のようなＲＧＢ８８８フォーマットである場合にも、図１１のように簡素なアドレッシングを実現できる。また入力画素データがＲＧＢ５６５フォーマットである場合にも、図１２、図１３に示すように、拡張データ部分を生成せずに、基本データ部分を基本データ格納領域に書き込むだけで済み、簡素なアドレッシングを実現できる。
【００７３】
また本実施形態によれば、図９、図１１、図１３に示すように、メモリ上に空白を空けることなく画素データを格納できる。従って図１（Ａ）（Ｂ）の背景技術と比較して、メモリの使用効率を向上できる。即ちメモリ上に必要最小限の領域を確保するだけで済むため、メモリの使用記憶容量を節約できる。
【００７４】
また本実施形態によれば、基本データ格納領域や拡張データ格納領域が確保されるメモリとして、一般的な２のべき乗のビット数のワード長のメモリを使用できる。従って、使用される製造プロセスやメモリタイプなどに制限が生じず、メモリコントローラや表示コントローラの低コスト化を図れる。例えば図３（Ａ）（Ｂ）のように特別なメモリを使用する背景技術では、一般に市販される外付けメモリ（２のべき乗のビット数のワード長のメモリ）を、基本データ格納領域や拡張データ格納領域を確保するメモリとして使用できないが、本実施形態によればこのような外付けメモリでも使用できる。
【００７５】
また本実施形態によれば、画素データをメモリ２０、２２に書き込む際には、分割部４０により、画素データが基本データ部分と拡張データ部分に自動的に分割されて基本データ格納領域、拡張データ格納領域に書き込まれる。また画素データをメモリ２０、２２から読み出す際には、基本データ格納領域、拡張データ格納領域に格納される基本データ部分、拡張データ部分が結合部５０により自動的に結合されて読み出される。このため、ホストＣＰＵ１３は、画素データが基本データ部分と拡張データ部分に分割されて格納されることを全く意識しないで済む。従ってホストＣＰＵ１３の処理負荷を増加させることなくメモリの使用効率を向上できる。
【００７６】
また本実施形態では図８〜図１３に示すように基本データ部分が一般的なＲＧＢ５６５フォーマットになっている。従って、ＲＧＢ６６６フォーマットやＲＧＢ８８８フォーマットの画素データの拡張データ部分を切り捨てるだけで（拡張データ部分を使用しないだけで）、メモリデータの修正無しに、ＲＧＢ６６６フォーマットやＲＧＢ８８８フォーマットからＲＧＢ５６５フォーマットへのビット数変換（減色処理）を実現できる。
【００７７】
なお図９、図１１、図１３では、基本データ格納領域、拡張データ格納領域が確保されるメモリ２０、２２のワード長が３２ビットである例を示しているが、本発明はこれに限定されない。例えばメモリ２０、２２のワード長は１６、６４、１２８、２５６ビット等であってもよい。また基本データ格納領域が確保されるメモリ２０と拡張データ格納領域が確保されるメモリ２２が物理的に同一ではない場合には、メモリ２０とメモリ２２のワード長が異なっていてもよい。また本実施形態では、基本データ部分がＲＧＢ５６５フォーマットである場合を例にとり説明しているが、本発明の基本データ部分はこのようなＲＧＢ５６５フォーマットに限定されるものではない。
【００７８】
３．詳細な構成例
図１４に本実施形態のメモリコントローラ、表示コントローラの詳細な構成例を示す。図１４ではメモリコントローラ３０が、分割部４０、結合部５０、アドレスジェネレータ６０、メモリＩ／Ｆ７０、７２の他に、マルチプレクサ８０、デマルチプレクサ８２、アービター８４を含む。
【００７９】
マルチプレクサ８０の入力とホストＩ／Ｆ１２、グラフィックエンジン１６（広義にはアクセス要求ブロック）の出力は２４ビット幅（Ｉ１＋Ｉ２＋Ｉ３ビット幅）のバスで接続され、マルチプレクサ８０の出力と分割部４０の入力は２４ビット幅のバスで接続される。また分割部４０の出力とメモリＩ／Ｆ７０の入力は、基本データ部分の転送用の１６ビット幅（Ｊ１＋Ｊ２＋Ｊ３ビット幅）のバスで接続され、分割部４０の出力とメモリＩ／Ｆ７２の入力は、拡張データ部分の転送用の８ビット幅（Ｋ１＋Ｋ２＋Ｋ３ビット幅）のバスで接続される。
【００８０】
またメモリＩ／Ｆ７０の出力と結合部５０の入力は、基本データ部分の転送用の１６ビット幅のバスで接続され、メモリＩ／Ｆ７２の出力と結合部５０の入力とは、拡張データ部分の転送用の８ビット幅のバスで接続される。また結合部５０の出力とデマルチプレクサ８２の入力は２４ビット幅のバスで接続され、デマルチプレクサ８２の出力と、ホストＩ／Ｆ１２、表示デバイスＩ／Ｆ１４、グラフィックエンジン１６の入力は２４ビット幅のバスで接続される。
【００８１】
なおＲＧＢ８８８フォーマットの入力モードでは、２４ビット幅のバスの全てのビットの信号線が使用される。一方、ＲＧＢ６６６フォーマットの入力モードでは、２４ビット幅のバスのうちの下位１８ビットの信号線が使用され、ＲＧＢ５６５フォーマットの入力モードでは下位１６ビットの信号線が使用される。
【００８２】
マルチプレクサ８０は、メモリ２０、２２に対してアクセス要求するホストＩ／Ｆ１２、グラフィックエンジン１６（広義には複数のアクセス要求ブロック）から出力される画素データのいずれかを選択する。そして選択された画素データを、分割部４０に対して出力する。具体的にはアービター８４が、ホストＩ／Ｆ１２、グラフィックエンジン１６からのアクセス要求の調停を行う。そしてホストＩ／Ｆ１２からのアクセス要求を認める場合には、ホストＩ／Ｆ１２からの画素データを分割部４０に出力する。一方、グラフィックエンジン１６からのアクセス要求を認める場合には、グラフィックエンジン１６からの画素データを分割部４０に出力する。
【００８３】
分割部４０は、入力された画素データを基本データ部分と拡張データ部分に分割し、基本データ部分を１６ビット幅のバスを介してメモリＩ／Ｆ７０に出力する。そしてメモリＩ／Ｆ７０は基本データ部分をメモリ２０の基本データ格納領域に書き込む。また分割部４０は、拡張データ部分を８ビット幅のバスを介してメモリＩ／Ｆ７２に出力する。そしてメモリＩ／Ｆ７２は拡張データ部分をメモリ２２の拡張データ格納領域に書き込む。
【００８４】
メモリＩ／Ｆ７０は、メモリ２０の基本データ格納領域から読み出された基本データ部分を１６ビット幅のバスを介して結合部５０に出力する。またメモリＩ／Ｆ７２は、メモリ２２の拡張データ格納領域から読み出された拡張データ部分を８ビット幅のバスを介して結合部５０に出力する。そして結合部５０は、基本データ部分と拡張データ部分を結合し、結合により得られた画素データをデマルチプレクサ８２に出力する。
【００８５】
デマルチプレクサ８２は、結合部５０から出力される画素データを、メモリ２０、２２に対してアクセス要求するホストＩ／Ｆ１２、表示デバイスＩ／Ｆ１４、グラフィックエンジン１６（広義には複数のアクセス要求ブロック）のいずれかに出力する。この場合に、アクセス要求の調停はアービター８４により行われることになる。
【００８６】
図１４に示すようなマルチプレクサ８０やデマルチプレクサ８２を設ければ、ホストＣＰＵ１３のみならず、表示デバイスＩ／Ｆ１４（表示デバイス１５）やグラフィックエンジン１６も、分割部４０や結合部５０を介したメモリ２０、２２へのアクセスが可能になる。従って、ホストＣＰＵ１３からのアクセス要求の際のアドレッシングのみならず、表示デバイスＩ／Ｆ１４やグラフィックエンジン１６からのアクセス要求の際のアドレッシングについても簡素化できる。即ちグラフィックエンジン１６による画素データの書き込みの際にも、画素データが基本データ部分と拡張データ部分に自動的に分割されて書き込まれる。また表示デバイスＩ／Ｆ１４、グラフィックエンジン１６による画素データの読み出しの際にも、基本データ部分と拡張データ部分が自動的に結合されて読み出される。これにより、表示デバイスＩ／Ｆ１４やグラフィックエンジン１６の回路構成の簡素化を図れる。
【００８７】
５．減色モード、補色モード
本実施形態によれば減色モードや補色モードなどのビット数変換も容易に実現できる。例えば画素データのビット数を減らす減色モードの場合には、基本データ格納領域に格納される基本データ部分を読み出して、減色モードの画素データとして出力するようにする。
【００８８】
即ち図１５では、メモリ２０の基本データ格納領域には、１６ｂｐｐのＲＧＢ５６５フォーマットの基本データ部分が格納されている。またメモリ２２の拡張データ格納領域には、２ｂｐｐの拡張データ部分が格納されている。これらの基本データ部分、拡張データ部分は、図８、図９で説明したように、１８ｂｐｐのＲＧＢ６６６フォーマットの画素データ（元画素データ）を分割することで基本データ格納領域、拡張データ格納領域に格納されたものである。
【００８９】
そして本実施形態では減色モードの際に、拡張データ格納領域に格納された２ｂｐｐの拡張データ部分については読み出さずに、基本データ格納領域に格納されたＲＧＢ５６５フォーマットの基本データ部分だけを読み出す。そして読み出された基本データ部分を、減色モードの画素データとして出力する。そしてこの減色モードの画素データを表示デバイスＩ／Ｆ１４に出力すれば、文字だけにより構成される画面を表示デバイス１５に減色モードで表示する場合等にも、これに対応できるようになる。
【００９０】
図１（Ａ）〜図３（Ｂ）の背景技術の手法では、減色モードを実現するためには、画素データのビットを削除する回路などが必要になり、回路が大規模化する。これに対して本実施形態によれば、基本データ格納領域から基本データ部分を読み出すだけで減色モードを実現できるため、回路の小規模化、低消費電力化を図れる。なお、減色モードの際に、拡張データ格納領域に格納された拡張データのうちの一部のみを読み出すというような変形実施も可能である。
【００９１】
また本実施形態では、例えば補色モードの場合には、基本データ部分と補色データ部分とにより構成される補色モードの画素データを生成するために、基本データ格納領域に格納される基本データ部分を読み出す。
【００９２】
即ち図１６（Ａ）では、メモリ２０の基本データ格納領域には、１６ｂｐｐのＲＧＢ５６５フォーマットの基本データ部分が格納されている。そして補色モードの場合には、このＲＧＢ５６５フォーマットの基本データ部分を基本データ格納領域から読み出す。そしてメモリコントローラ３０は、この基本データ部分と補色データ部分とにより構成される画素データを、補色モードの画素データとして出力する。
【００９３】
この場合に図１６（Ａ）に示すように補色データ部分は、基本データ部分に基づいて補色ジェネレータ９０が生成する。この補色ジェネレータ９０は補色変換テーブルなどを用いて実現できる。例えば補色ジェネレータ９０は基本データ部分のデータ値に応じた２ｂｐｐ（広義にはＳｂｐｐ、Ｓビット）の補色データ部分を生成する。そして生成された２ｂｐｐの補色データ部分が１６ｂｐｐの基本データ部分に結合されて、補色モードの１８ｂｐｐの画素データとして出力される。
【００９４】
なお、補色データ部分は、基本データ部分に基づいて生成してもよいし、基本データ部分に基づかずに生成してもよい。基本データ部分に基づかずに補色データ部分を生成する場合には、補色ジェネレータ９０は固定のビット値を補色データ部分として出力すればよい。
【００９５】
また補色モードの場合には、読み出された基本データ部分については基本データ格納領域に書き戻さずに、生成された補色データ部分を拡張データ格納領域に書き込むようにしてもよい。即ち図１６（Ｂ）では、補色ジェネレータ９０により生成された補色データ部分は、メモリ２２の拡張データ格納領域に書き込まれる。これにより、補色モードの画素データがメモリ２０、２２に格納されたことになる。そして補色モードの画素データをメモリ２０、２２から読み出す場合には、基本データ格納領域から基本データ部分を読み出し、拡張データ格納領域から補色データ部分を読み出す。そして読み出された基本データ部分と補色データ部分とにより構成（結合）される画素データを、補色モードの画素データとして出力する。このようにすれば、生成された補色モードの画素データを、メモリ２０、２２に保持して記憶しておくことが可能になる。
【００９６】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（ホストプロセッサ、第１の色成分、第２の色成分、第３の色成分等）として引用された用語（ホストＣＰＵ、Ｒ成分、Ｇ成分、Ｂ成分等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９７】
また本発明のメモリコントローラ、表示コントローラの構成は、図４、図１４等で説明した構成に限定されず、種々の変形実施が可能である。例えばこれらの図の構成要素の一部を省略したり、その接続関係を変更してもよい。また基本データ部分と拡張データ部分についての分割手法、結合手法も図８〜図１３の手法に限定されない。例えば図８〜図１３とは異なるビット数配分、ビット構成で分割、結合処理を行ってもよい。
【図面の簡単な説明】
【００９８】
【図１】図１（Ａ）、図１（Ｂ）は第１の背景技術の説明図。
【図２】第２の背景技術の説明図。
【図３】図３（Ａ）、図３（Ｂ）は第３の背景技術の説明図。
【図４】本実施形態のメモリコントローラ、表示コントローラの構成例。
【図５】図５（Ａ）、図５（Ｂ）はホストＩ／Ｆでの信号の波形例。
【図６】ホストＩ／Ｆでの信号の波形例。
【図７】図７（Ａ）、図７（Ｂ）は表示デバイスＩ／Ｆのデータ信号のフォーマット例。
【図８】本実施形態の分割、結合手法の説明図。
【図９】基本データ部分、拡張データ部分の格納状態を示す図。
【図１０】本実施形態の分割、結合手法の説明図。
【図１１】基本データ部分、拡張データ部分の格納状態を示す図。
【図１２】本実施形態の分割、結合手法の説明図。
【図１３】基本データ部分、拡張データ部分の格納状態を示す図。
【図１４】本実施形態のメモリコントローラ、表示コントローラの詳細な構成例。
【図１５】減色モードの実現手法の説明図。
【図１６】図１６（Ａ）、図１６（Ｂ）は補色モードの実現手法の説明図。
【符号の説明】
【００９９】
１０  表示コントローラ、１２  ホストＩ／Ｆ、１３  ホストＣＰＵ、
１４  表示デバイスＩ／Ｆ、１５  表示デバイス、１６  グラフィックエンジン、
２０、２２  メモリ、３０  メモリコントローラ、４０  分割部  ５０  結合部、
６０  アドレスジェネレータ、７０、７２  メモリＩ／Ｆ、８０  マルチプレクサ、
８２  デマルチプレクサ、８４  アービター、９０  補色ジェネレータ、
【図１】
2006184792.tif 000003
【図２】
2006184792.tif 000004
【図３】
2006184792.tif 000005
【図４】
2006184792.tif 000006
【図５】
2006184792.tif 000007
【図６】
2006184792.tif 000008
【図７】
2006184792.tif 000009
【図８】
2006184792.tif 000010
【図９】
2006184792.tif 000011
【図１０】
2006184792.tif 000012
【図１１】
2006184792.tif 000013
【図１２】
2006184792.tif 000014
【図１３】
2006184792.tif 000015
【図１４】
2006184792.tif 000016
【図１５】
2006184792.tif 000017
【図１６】
2006184792.tif 000018