説明

データ処理回路、集積回路装置及び電子機器

【課題】画像データの転送元であらかじめ画素フォーマット変換や色変換を行う必要がなく、そのため転送元の負荷を低減することができるデータ処理回路、集積回路装置及び電子機器を提供すること。
【解決手段】データ処理回路1Aは、第1のバス2を介して伝送される第1の画素データ信号2aを受け取り、第2のバス3を介して伝送される第2の画素データ信号3aに変換する。レジスター部30は、第1の画素データ信号2aにおける複数の第1の画素要素データの並び順を特定するための第1の設定情報31を記憶する。第1のフォーマット変換部10は、第1の設定情報31に基づいて、第1の画素データ信号2aから所与の基準ビットを先頭として複数の第1の画素要素データを取り出し、画素データ信号12を生成する。色変換部20は、第1の色空間から第2の色空間への変換式に従い、画素データ信号12を画素データ信号22に変換する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理回路、集積回路装置及び電子機器等に関する。
【背景技術】
【0002】
プロジェクターやプリンター等、画像データを処理する電子機器が広く普及しており、半導体プロセスの微細化が進むにつれ、これらの電子機器に含まれる画像処理装置はCPUと画像処理回路が組み込まれた1つのICで実現されるようになっている。このような画像処理用ICでは、CPUの制御のもと、汎用バスに接続されたメモリーから読み出した画像データをビデオバスを介して画像処理回路に転送する処理が必要になる場合がある。そして、汎用バスとビデオバスは互いに異なるバスプロトコルで動作するので、この画像データの転送処理を実現するためには、汎用バスを介してメモリーから転送された画像データをビデオバスを解して転送可能な画像データに変換するデータ処理回路が必要になる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−45458号公報
【特許文献2】特開平10−6577号公報
【特許文献3】特開2008−276356号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来のデータ処理回路はバスプロトコル変換のみを行っており、画像データの画素フォーマットの変換処理とRGBからYUV等への色変換処理が必要な場合は、CPUがメモリー上に画像データを展開してこれらの変換処理を行った後、変換処理された画像データを汎用バスを介してデータ処理回路に転送していた。この手法では、CPUが画素フォーマット変換処理と色変換処理を行うので、単位時間当たりの画像データの転送量が大きくなると、CPUの処理が間に合わないという問題が生じ得る。
【0005】
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、画像データの転送元であらかじめ画素フォーマット変換や色変換を行う必要がなく、そのため転送元の負荷を低減することができるデータ処理回路、集積回路装置及び電子機器を提供することができる。
【課題を解決するための手段】
【0006】
(1)本発明は、第1のプロトコルに従う第1のバスを介して伝送される第1の画素データ信号を受け取り、第2のプロトコルに従う第2のバスを介して伝送される第2の画素データ信号に変換するデータ処理回路であって、レジスター部と、第1のフォーマット変換部と、色変換部と、を含み、前記第1の画素データ信号は、所与の第1の色空間で定義される色情報を特定するための複数の第1の画素要素データを有し、前記第2の画素データ信号は、所与の第2の色空間で定義される色情報を特定するための複数の第2の画素要素データを有し、前記レジスター部は、前記第1の画素データ信号における前記複数の第1の画素要素データの並び順を特定するための第1の設定情報を記憶し、前記第1のフォーマット変換部は、前記第1の設定情報に基づいて、前記第1の画素データ信号から所与の基準ビットを先頭として前記複数の第1の画素要素データを取り出し、当該複数の第1の画素要素データを含む第1の画素フォーマットの画素データ信号を生成し、前記色変換部は、前記第1の色空間から前記第2の色空間への所与の変換式に従い、前記第1のフォーマット変換部が生成した前記画素データ信号を前記複数の第2の画素要素データを含む画素データ信号に変換する、データ処理回路である。
【0007】
本発明によれば、第1のバスを介して伝送される第1の画素データ信号に対して画素フォーマット変換と色変換を施し、第2のバスを介して伝送される第2の画素データ信号に変換するので、第1の画素データ信号の転送元であらかじめ画素フォーマット変換や色変換を行う必要がなく、そのため転送元の負荷を低減することができる。
【0008】
また、本発明によれば、第1の設定情報により、特定の画素フォーマットの第1の画素データ信号における複数の第1の画素要素データの並び順を特定することができる。そのため、第1の画素データ信号における複数の第1の画素要素データの並び順が可変であっても、当該並び順に応じてあらかじめ第1の設定情報を変更することにより、複数の第1の画素要素データを取り出して第1の画素フォーマットの画素データ信号を生成することができる。従って、本発明によれば、画素フォーマット変換処理の柔軟性を向上させることができる。
【0009】
(2)このデータ処理回路において、前記レジスター部は、前記第1の画素データ信号の前記基準ビットを特定するための第2の設定情報を記憶し、前記第1のフォーマット変換部は、前記第1の設定情報及び前記第2の設定情報に基づいて、前記第1の画素データ信号から前記複数の第1の画素要素データを取り出すようにしてもよい。
【0010】
本発明によれば、第2の設定情報により、複数の第1の画素要素データの並び順の基準となる基準ビットを特定することができる。そのため、第1の画素データ信号の基準ビットの位置が可変であっても、当該基準ビットの位置に応じてあらかじめ第2の設定情報を変更することにより、複数の第1の画素要素データを取り出して第1の画素フォーマットの画素データ信号を生成することができる。従って、本発明によれば、画素フォーマット変換処理の柔軟性をさらに向上させることができる。
【0011】
(3)このデータ処理回路において、前記レジスター部は、前記第1の画素データ信号の前記基準ビットが前記第1の画素要素データの一部であるか否かを特定するための第3の設定情報を記憶し、前記第1のフォーマット変換部は、前記第3の設定情報に基づいて、前記第1の画素要素データの一部として前記基準ビットを取り出すか否かを決定するようにしてもよい。
【0012】
本発明によれば、第3の設定情報により、複数の第1の画素要素データの並び順の基準となる基準ビットが第1の画素要素データの一部であるか否か(すなわち、有効なデータであるか否か)を特定することができる。そのため、第1の画素データ信号の基準ビットが有効、無効の両方のケースがあり得る場合であっても、当該基準ビットが有効か無効かに応じてあらかじめ第3の設定情報を変更することにより、複数の第1の画素要素データを取り出して第1の画素フォーマットの画素データ信号を生成することができる。従って、本発明によれば、画素フォーマット変換処理の柔軟性をさらに向上させることができる。
【0013】
(4)このデータ処理回路において、前記第1のフォーマット変換部は、前記第1の画素データ信号から取り出した前記複数の第1の画素要素データの各々のビット数をmとした時、当該第1の画素要素データの各々について上位nビット(n≦m)を下位nビットに付加してm+nビットにビット拡張し、前記第1の画素フォーマットの画素データ信号を生成するようにしてもよい。
【0014】
本発明によれば、第1の画素要素データの値がmビットで表せる最大値すなわち2−1(すべてのビットが1)である場合、第1の画素フォーマットの画素データ信号もm+nビットで表せる最大値すなわち2m+n−1(すべてのビットが1)になる。また、第1の画素要素データの値がmビットで表せる最小値すなわち0(すべてのビットが0)である場合、第1の画素フォーマットの画素データ信号もm+nビットで表せる最小値すなわち0(すべてのビットが0)になる。従って、m+nビットのレンジ(0〜2m+n−1)を最大限有効に利用することができるので、画素データ信号のビット拡張に伴う誤差を最小にすることができる。
【0015】
(5)このデータ処理回路は、第2のフォーマット変換部と、画素データ選択部と、をさらに含み、第1の画素データ信号は、複数の種類の画素フォーマットのうちのいずれかの画素フォーマットを有し、前記レジスター部は、前記第1の画素データ信号の画素フォーマットを特定するための第4の設定情報と、所定の画素フォーマットの前記第1の画素データ信号における前記複数の第1の画素要素データの配置を特定するための第5の設定情報を記憶し、前記第2のフォーマット変換部は、前記第5の設定情報に基づいて、前記所定の画素フォーマットの前記第1の画素データ信号から前記複数の第1の画素要素データを取り出し、当該複数の第1の画素要素データを含む第2の画素フォーマットの画素データ信号を生成し、前記画素データ選択部は、前記第4の設定情報に基づいて、前記第1のフォーマット変換部が生成した前記画素データ信号又は前記第2のフォーマット変換部が生成した前記画素データ信号のいずれか一方を選択し、前記色変換部は、前記第1の色空間から前記第2の色空間への所与の変換式に従い、前記画素データ選択部により選択された、前記第1のフォーマット変換部が生成した前記画素データ信号又は前記第2のフォーマット変換部が生成した前記画素データ信号を、前記複数の第2の画素要素データを含む画素データ信号に変換するようにしてもよい。
【0016】
本発明によれば、第5の設定情報により、所定の画素フォーマットの第1の画素データ信号における複数の第1の画素要素データの配置を特定することができる。そのため、所定の画素フォーマットの第1の画素データ信号における複数の第1の画素要素データの配置が可変であっても、当該配置に応じてあらかじめ第5の設定情報を変更することにより、複数の第1の画素要素データを取り出して第2の画素フォーマットの画素データ信号を生成することができる。さらに、第4の設定情報により、第1の画素データ信号の画素フォーマットを特定することができる。そのため、第1の画素データ信号の画素フォーマットが可変である場合でも、当該画素フォーマットに応じてあらかじめ第4の設定情報を変更することにより、第1の画素フォーマットの画素データ信号又は第2の画素フォーマットの画素データ信号を選択して色変換処理を行うことができる。従って、本発明によれば、第1の画素データ信号の画素フォーマットが可変である場合でも、画素フォーマット変換処理と色変換処理を行うことができる。
【0017】
(6)このデータ処理回路において、前記第2のフォーマット変換部は、前記第1の画素データ信号から取り出した前記複数の第1の画素要素データの各々のビット数をjとした時、当該第1の画素要素データの各々について上位kビット(k≦j)を下位kビットに付加してj+kビットにビット拡張し、前記第2の画素フォーマットの画素データ信号を生成するようにしてもよい。
【0018】
本発明によれば、第1の画素要素データの値がjビットで表せる最大値すなわち2−1(すべてのビットが1)である場合、第2の画素フォーマットの画素データ信号もj+kビットで表せる最大値すなわち2j+k−1(すべてのビットが1)になる。また、第1の画素要素データの値がjビットで表せる最小値すなわち0(すべてのビットが0)である場合、第2の画素フォーマットの画素データ信号もj+kビットで表せる最小値すなわち0(すべてのビットが0)になる。従って、j+kビットのレンジ(0〜2j+k−1)を最大限有効に利用することができるので、画素データ信号のビット拡張に伴う誤差を最小にすることができる。
【0019】
(7)本発明は、上記のいずれかのデータ処理回路を含む、集積回路装置である。
【0020】
この集積回路装置において、外部信号に基づいて前記第1の画素データ信号の画素フォーマットを判断し、前記データ処理回路に含まれる前記レジスター部に前記第1〜第5の設定情報の少なくとも1つを設定する設定部を含むようにしてもよい。
【0021】
(8)本発明は、上記の集積回路装置を含む、電子機器である。
【図面の簡単な説明】
【0022】
【図1】第1実施形態のデータ処理回路の機能ブロック図。
【図2】第1実施形態のデータ処理回路の具体的な構成の一例を示す図。
【図3】RGBデータのフォーマットの一例を示す図。
【図4】RGBフォーマット変換回路の具体的な構成の一例を示す図。
【図5】R、G、Bのビット位置の特定について説明するための図。
【図6】ビット拡張回路によるビット拡張の一例を示す図。
【図7】第1実施形態のデータ処理回路の動作タイミングの一例を示す図。
【図8】第2実施形態のデータ処理回路の機能ブロック図。
【図9】第2実施形態のデータ処理回路の具体的な構成の一例を示す図。
【図10】YUV422データのフォーマットの一例を示す図。
【図11】YUVフォーマット変換回路の具体的な構成の一例を示す図。
【図12】選択回路の選択論理の真理値表を示す図。
【図13】ビット拡張回路によるビット拡張の一例を示す図。
【図14】第2実施形態のデータ処理回路の動作タイミングの一例を示す図。
【図15】本実施形態の電子機器の一例としてのプロジェクターのブロック図。
【発明を実施するための形態】
【0023】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0024】
1.データ処理回路
(1)第1実施形態
図1は、第1実施形態のデータ処理回路の機能ブロック図である。
【0025】
第1実施形態のデータ処理回路1Aは、第1のプロトコルに従う第1のバス2を介して伝送される第1の画素データ信号2aを受け取り、第2のプロトコルに従う第2のバス3を介して伝送される第2の画素データ信号3aに変換する処理を行う。
【0026】
第1のバスは、第1の画素データ信号2aを伝送するための専用バスであってもよいし、第1の画素データ信号2aだけでなく他のデータ信号も伝送することができる汎用バスであってもよい。同様に、第2のバス3は、第2の画素データ信号3aを伝送するための専用バスであってもよいし、第2の画素データ信号3aだけでなく他のデータ信号も伝送することができる汎用バスであってもよい。
【0027】
第1の画素データ信号2aは、第1の色空間で定義される色情報を特定するための複数の第1の画素要素データを有し、第2の画素データ信号3aは、第2の色空間で定義される色情報を特定するための複数の第2の画素要素データを有する。
【0028】
第1の色空間、第2の色空間は、例えば、RGB(Red-Green-Blue)、RGBA(Red-Green-Blue-Alpha)、YUV(YCbCr,YPbPr等の総称)、CMY(Cyan-Magenta-Yellow)等の色空間である。例えば、第1の色空間がRGB空間であれば、第1の画素データ信号2aはRGB空間で定義される色情報をR、G、Bの3つのデータで表現する画素データ信号(以下、「RGBデータ信号」という)であり、複数の第1の画素要素データはR、G、Bの各データである。また、例えば、第1の色空間がYUV空間であれば、第1の画素データ信号2aはYUV空間で定義される色情報をY、U、Vの3つのデータで表現する画素データ信号(以下、「YUVデータ信号」という)であり、複数の第1の画素要素データはY、U、Vの各データである。
【0029】
データ処理回路1Aは、第1のフォーマット変換部10、色変換部20、レジスター部30を含む。
【0030】
レジスター部30は、少なくとも第1の設定情報31を記憶している。第1の設定情報31は、第1の画素データ信号2a(例えば、RGBデータ信号)における複数の第1の画素要素データ(例えば、R、G、Bの各データ)の並び順を特定するための情報である。
【0031】
第1のフォーマット変換部10は、第1の設定情報31に基づいて、第1の画素データ信号2a(例えば、RGBデータ信号)から所与の基準ビット(ビットbとする)を先頭として複数の第1の画素要素データ(例えば、R、G、Bの各データ)を取り出し、当該複数の第1の画素要素データ(例えば、R、G、Bの各データ)を含む第1の画素フォーマットの画素データ信号12を生成する処理を行う。
【0032】
また、レジスター部30は、第2の設定情報32をさらに記憶していてもよい。第2の設定情報32は、第1の画素データ信号2aの基準ビットbを特定するための情報である。
【0033】
そして、第1のフォーマット変換部10は、第1の設定情報31及び第2の設定情報32に基づいて、第1の画素データ信号2a(例えば、RGBデータ信号)から複数の第1の画素要素データ(例えば、R、G、Bの各データ)を取り出す処理を行うにしてもよい。
【0034】
また、レジスター部30は、第3の設定情報33をさらに記憶していてもよい。第3の設定情報33は、第1の画素データ信号2aの基準ビットbが第1の画素要素データ(例えば、R、G、Bのいずれかのデータ)の一部であるか否かを特定するための情報である。
【0035】
そして、第1のフォーマット変換部10は、第3の設定情報33に基づいて、第1の画素要素データ(例えば、R、G、Bのいずれかのデータ)の一部として基準ビットbを取り出すか否かを決定する処理を行うようにしてもよい。
【0036】
また、第1のフォーマット変換部10は、第1の画素データ信号2a(例えば、RGBデータ信号)から取り出した複数の第1の画素要素データ(例えば、R、G、Bの各データ)の各々のビット数をmとした時、当該第1の画素要素データ(例えば、R、G、Bの各データ)の各々について上位nビット(n≦m)を下位nビットに付加してm+nビットにビット拡張し、第1の画素フォーマットの画素データ信号12を生成する処理を行うようにしてもよい。
【0037】
色変換部20は、第1の色空間(例えば、RGB空間)から第2の色空間(例えば、YUV空間)への所与の変換式に従い、第1のフォーマット変換部10が生成した画素データ信号12(例えば、R、G、Bの各データを含む信号)を複数の第2の画素要素データ(例えば、Y、U、Vの各データ)を含む画素データ信号22に変換する処理を行う。
【0038】
なお、第1の設定情報31、第2の設定情報32、第3の設定情報33は、レジスター部30において1つのレジスターに記憶されていてもよいし、複数のレジスターに分かれて記憶されていてもよい。
【0039】
以下、図1に示した第1実施形態のデータ処理回路の具体的な構成例について説明する。
【0040】
図2は、第1実施形態のデータ処理回路の具体的な構成の一例を示す図である。
【0041】
汎用バス200(図1で説明した第1のバス2の一例)には、第1実施形態のデータ処理回路100A、CPU210、DMAコントローラー220、ROMやRAMなどのメモリー230等が接続されており、CPU210又はDMAコントローラー220はメモリー230に格納された画素データを汎用バス200を介してデータ処理回路100Aに転送する。本実施形態では、メモリー230に格納された画素データは、RGB空間(図1で説明した第1の色空間の一例)で定義される色情報をR、G、Bの3つのデータで表現する画素データ(以下、「RGBデータ」という)である。
【0042】
データ処理回路100Aは、メモリー230に格納されたRGBデータをYUV空間(図1で説明した第2の色空間の一例)で定義される色情報をY、U、Vの3つのデータで表現する画素データ(以下、「YUVデータ」という)に変換してビデオバス300(図1で説明した第2のバス3の一例)を介して画像処理回路310に転送する処理を行う。すなわち、データ処理回路100Aは、汎用バス200からビデオバス300へのバスプロトコル変換処理とRGBデータからYUVデータへの変換処理を同時に行う。
【0043】
なお、汎用バス200を介して転送されるRGBデータは図1で説明した第1の画素データ信号2aの一例であり、ビデオバス300を介して転送されるYUVデータは図1で説明した第2の画素データ信号3aの一例である。また、RGBデータに含まれるR、G、Bの各データは図1で説明した第1の画素要素データの一例であり、YUVデータに含まれるY、U、Vの各データは図1で説明した第2の画素要素データの一例である。
【0044】
本実施形態では、CPU210、DMAコントローラー220、メモリー230、データ処理回路100A、画像処理回路310は、共通のクロック信号(CLK)(図示省略)に同期して動作する。
【0045】
データ処理回路100Aは、RGBフォーマット変換回路110(図1で説明した第1のフォーマット変換部10の一例)、色変換回路120(図1で説明した色変換部20の一例)、レジスターブロック130(図1で説明したレジスター部30の一例)、バスインターフェース(I/F)回路140a、140b、FIFOメモリー(First In First Out Memory)150、FIFOメモリー160及びタイミング生成回路170を含んで構成されている。
【0046】
バスインターフェース回路140aは、CPU210によるレジスターブロック130に含まれる各種レジスター(フォーマット変換設定レジスター131、色変換設定レジスター132等)へのライト要求及びリード要求に対する処理を行う。
【0047】
より具体的には、CPU210は、バスマスターとして機能し、バススレーブとして機能するバスインターフェース回路140aに、汎用バス200を介して32ビットのアドレスデータ201a(HAD1[31:0])、32ビットのライトデータ202a(HWD1[31:0])、1ビットのセレクト信号203a(HSEL1)、1ビットのライト信号204a(HWRITE1)、1ビットのレディー入力信号205a(HRDYIN1)等を転送する。
【0048】
バスインターフェース回路140aは、アドレスデータ201a、ライトデータ202a、セレクト信号203a、ライト信号204a、レディー入力信号205a等を受け取り、セレクト信号203a、ライト信号204a、レディー入力信号205aがすべてアクティブ(ハイレベル)であれば、アドレスデータ201aにより指定されるアドレスに割り当てられたレジスターにライトデータ202aを書き込む処理を行う。
【0049】
なお、本実施形態では、すべての制御信号について、ハイレベルであればアクティブ、ローレベルであればインアクティブを意味するものとするが、本発明はこれに限定されるものではない。
【0050】
また、バスインターフェース回路140aは、セレクト信号203aとレディー入力信号205aがアクティブ(ハイレベル)、かつ、ライト信号204aがインアクティブ(ローレベル)であれば、アドレスデータ201aにより指定されるアドレスに割り当てられたレジスターからデータを読み出し、汎用バス200にリードデータ207a(HRD1[31:0])を出力する。
【0051】
バスインターフェース回路140bは、CPU210やDMAコントローラー220によるRGBデータの転送要求に対する処理を行う。本実施形態では、汎用バス200を介して転送される1画素分のRGBデータは、RGB555フォーマット(R、G、Bの各データがすべて5ビット)の15ビットRGBデータ、又はRGB565フォーマット(R、G、Bの各データがそれぞれ5ビット、6ビット、5ビット)の16ビットRGBデータのいずれかであるものとするが、本発明はこれに限定されるものではない。
【0052】
より具体的には、CPU210やDMAコントローラー220は、バスマスターとして機能し、バススレーブとして機能するバスインターフェース回路140bに、汎用バス200を介して32ビットのアドレスデータ201b(HAD2[31:0])、32ビットのライトデータ202b(HWD2[31:0])、1ビットのセレクト信号203b(HSEL2)、1ビットのライト信号204b(HWRITE2)、1ビットのレディー入力信号205b(HRDYIN2)等を転送する。
【0053】
ここで、ライトデータ202bには2画素分のRGBデータが含まれている。具体的には、ライトデータ202bの下位16ビット(HWD2[15:0])に1画素目のRGBデータが含まれており、上位16ビット(HWD2[31:16])に2画素目のRGBデータが含まれている。そして、バスインターフェース回路140bは、アドレスデータ201b、ライトデータ202b、セレクト信号203b、ライト信号204b、レディー入力信号205b等を受け取り、セレクト信号203b、ライト信号204b、レディー入力信号205bがすべてアクティブ(ハイレベル)の時に、アドレスデータ201bにより指定されるアドレスがFIFOメモリー150のアドレス(以下、「00000000H」とする)であれば、ライトデータ202bに含まれる2画素分のRGBデータをFIFOメモリー150に書き込む処理を行う。
【0054】
また、バスインターフェース回路140bは、FIFOメモリー150をモニターし、FIFOメモリー150が一杯であることを検出すると、FIFOメモリー150に空きが生じるまでレディー出力信号206b(HRDYOUT2)をインアクティブ(ローレベル)にする。レディー出力信号206bがインアクティブ(ローレベル)である間、CPU210やDMAコントローラー220による次の2画素分のRGBデータ(ライトデータ202b)の転送要求が待たされる。
【0055】
図3(A)〜図3(D)は、汎用バス200を介して転送される1画素分のRGBデータのフォーマットの一例を示す図である。先に説明したように、本実施形態では、転送されるRGBデータはRGB555フォーマット又はRGB565フォーマットのいずれかであるが、R、G、Bの並び順は可変である。
【0056】
図3(A)に示すフォーマットは、RGB565フォーマットであり、かつ、ビット15〜11、ビット10〜5、ビット4〜0にそれぞれR、G、Bが配置されている。すなわち、ビット15を先頭としてR、G、Bの順にデータが並んでいる。
【0057】
また、図3(B)に示すフォーマットは、RGB565フォーマットであり、かつ、ビット15〜11、ビット10〜5、ビット4〜0にそれぞれB、G、Rが配置されている。すなわち、ビット15を先頭としてB、G、Rの順にデータが並んでいる。
【0058】
また、図3(C)に示すフォーマットは、RGB555フォーマットであり、かつ、ビット14〜10、ビット9〜5、ビット4〜0にそれぞれR、G、Bが配置されている。すなわち、ビット15を先頭ビットとしてR、G、Bの順にデータが並んでおり、先頭ビット(ビット15)には有効なデータが無いと考えることができる。
【0059】
また、図3(D)に示すフォーマットは、RGB555フォーマットであり、かつ、ビット15〜8、ビット7〜0に、それぞれ図3(C)のフォーマットのビット7〜0、ビット15〜8のデータが配置されている。すなわち、図3(C)のフォーマットがリトルエンディアン方式の並びになっているのに対して、図3(D)のフォーマットはビッグエンディアン方式の並びになっている。そのため、図3(D)のフォーマットではビット6〜2、ビット1〜0及び15〜13、ビット12〜8にそれぞれB、G、Rが配置されている。すなわち、ビット7を先頭ビットとしてB、G、Rの順にデータが並んでおり、先頭ビット(ビット7)には有効なデータが無いと考えることができる。
【0060】
図2に戻り、RGBフォーマット変換回路110は、FIFOメモリー150の先頭に格納された2画素分のRGBデータ151(RGBX2[31:0])を受け取り、下位16ビットのRGBデータ(1画素目のRGBデータ)、上位16ビットのRGBデータ(2画素目のRGBデータ)の順に、10ビットのRデータ111a(R[9:0])、Gデータ111b(G[9:0])、Bデータ111c(B[9:0])(図1で説明した画素データ信号12の一例)に画素フォーマット変換する処理を行う。後述するように、フォーマット変換設定レジスター131には、入力される1画素分のRGBデータ(16ビット)におけるR、G、Bの各データのビット位置を特定するための情報があらかじめ設定されており、RGBフォーマット変換回路110はその設定情報に基づいて画素フォーマット変換処理を行う。
【0061】
色変換回路120は、次の変換式に従い、RGBフォーマット変換回路110が生成した10ビットのRデータ111a、Gデータ111b、Bデータ111cを10ビットのYデータ121a(Y[9:0])、Uデータ121b(U[9:0])、Vデータ121c(V[9:0])に変換する処理を行う。
【0062】
【数1】

【0063】
ここで、K00,K01,K02,K03,K10,K11,K12,K13,K20,K21,K22,K23,OFS,OFS,OFS,YMIN,YMAX,UMIN,UMAX,VMIN,VMAXの値は、あらかじめ決められた定数値であってもよいが、色変換設定レジスター132に設定可能に構成することもできる。このようにすれば、色変換設定レジスター132の設定値を変更することで、YUVとしてYCbCrやYPbPrを選択可能にすることもできるし、RGBからYUVへの変換だけでなく任意の2つの色空間での色変換を行うこともできるようになる。
【0064】
色変換回路120による変換処理後のYデータ121a、Uデータ121b、Vデータ121cは、30ビットにまとめられてFIFOメモリー160に格納される。
【0065】
タイミング生成回路170は、画像処理回路310に対して、各フレームの先頭でクロック信号に同期して垂直同期信号301(VS)を送信し、1フレーム分の画素データの送信を開始する。具体的には、タイミング生成回路170は、所定のタイミングでデータイネーブル信号303(DE)をアクティブ(ハイレベル)にし、FIFOメモリー160の先頭に格納されているYUVデータ304(YUV[29:0])を1フレーム分に達するまでクロック信号に同期して順次送信する。なお、タイミング生成回路170は、画像処理回路310に対して、描画対象の各ラインの先頭で水平同期信号302(HS)をさらに送信するようにしてもよい。
【0066】
画像処理回路310は、各YUVデータ304に対して画像処理を行い、画像処理が終了するまでビジー信号305(BUSY)をインアクティブ(ローレベル)にする。そして、タイミング生成回路170は、ビジー信号305がアクティブ(ハイレベル)である間は出力停止信号171をアクティブ(ハイレベル)にしてFIFOメモリー160が次のYUVデータ304を出力しないように制御する。
【0067】
また、タイミング生成回路170は、FIFOメモリー160をモニターし、FIFOメモリー160が一杯であることを検出すると、FIFOメモリー160に空きが生じるまで出力停止信号172をアクティブ(ハイレベル)にしてFIFOメモリー150が次のRGBデータ151を出力しないように制御する。
【0068】
なお、垂直同期信号301、データイネーブル信号303、YUVデータ304、ビジー信号305によりビデオバス300が構成される。また、ビデオバス300の構成要素に水平同期信号302を含めてもよい。
【0069】
図4は、RGBフォーマット変換回路110の具体的な構成の一例を示す図である。
【0070】
本実施形態では、RGBフォーマット変換回路110は、バレルシフター112、選択回路114a、114b、114c、ビット拡張回路116a、116b、116c、RGB選択回路118を含んで構成されている。
【0071】
RGB選択回路118は、32ビットのRGBデータ151を受け取り、その下位16ビット又は上位16ビットのいずれかを選択して16ビットのRGBデータ119(RGB[15:0])を出力する。
【0072】
先に説明したように、RGBデータ151には2画素分のRGBデータが含まれている。すなわち、下位16ビットに1画素目のRGBデータ、上位16ビットに2画素目のRGBデータが含まれている。従って、RGB選択回路118は、FIFOメモリー150が新たなRGBデータ151を出力すると、まず下位16ビット(1画素目のRGBデータ)を選択してRGBデータ119とし、この1画素目のRGBデータに対する画素フォーマット変換処理が終了した後、上位16ビット(2画素目のRGBデータ)を選択してRGBデータ119とする。
【0073】
そして、RGBフォーマット変換回路110は、RGBデータ119に対して、フォーマット変換設定レジスター131に設定されているMSB指定情報131a、R位置指定情報131b、G位置指定情報131c、B位置指定情報131d、RGB565選択情報131eに基づいて、画素フォーマット変換処理を行う。本実施形態では、フォーマット変換設定レジスター131において、MSB指定情報131a、R位置指定情報131b、G位置指定情報131c、B位置指定情報131dに対してそれぞれ4ビットが割り当てられ、RGB565選択情報131eに対して1ビットが割り当てられる。
【0074】
MSB指定情報131aは、RGBデータ119のどのビットをMSB(Most Significant Bit)としてR、G、Bの並び順を指定するかを示す情報であり、”0000”〜”1111”のいずれかを設定することで、それぞれビット0〜ビット15をMSBとして指定することができる。
【0075】
R位置指定情報131b、G位置指定情報131c、B位置指定情報131dは、R、G、Bの並び順を指定するための情報であり、”1000”、”0100”、”0010”のいずれかを排他的に設定することで、それぞれ、1番目、2番目、3番目を指定することができる。例えば、R位置指定情報131b、G位置指定情報131c、B位置指定情報131dとして、”1000”、”0100”、”0010”をそれぞれ設定すれば、R→G→Bの順を、”0010”、”0100”、”1000”をそれぞれ設定すれば、B→G→Rの順を指定することができる。
【0076】
RGB565選択情報131eは、RGBデータ119がRGB555フォーマットかRGB565フォーマットのいずれであるかを選択するための情報であり、”0”を設定すればRGB555フォーマットを選択し、”1”を設定すればRGB565フォーマットを選択することができる。
【0077】
図5(A)及び図5(B)は、R位置指定情報131b、G位置指定情報131c、B位置指定情報131d、RGB565選択情報131eの組み合わせにより特定されるR、G、Bのビット位置について説明するための図である。
【0078】
図5(A)は、MSB指定情報として”1111”(ビット15がMSB)が設定されているケースを示している。
【0079】
従って、例えば、R位置指定情報131b=”1000”、G位置指定情報131c=”0100”、B位置指定情報131d=”0010”であれば、RGBデータ119のビット15をMSBとしてR→G→Bの順にビットが割り当てられる。ここで、RGB565選択情報131eが”1”であればRGBデータ119はRGB565フォーマットであるので、ビット15〜11、ビット10〜5、ビット4〜0にそれぞれR、G、Bが割り当てられる。これは、先に説明した図3(A)のケースに相当する。一方、RGB565選択情報131eが”0”であればRGBデータ119はRGB555フォーマットであるため、MSB指定情報131aにより指定されるMSB(ビット15)には有効データが存在しない。従って、RGBデータ119のビット14〜10、ビット9〜5、ビット4〜0にそれぞれR、G、Bが割り当てられる。
【0080】
また、例えば、R位置指定情報131b=”0010”、G位置指定情報131c=”0100”、B位置指定情報131d=”1000”であれば、RGBデータ119のビット15をMSBとしてB→G→Rの順にビットが割り当てられる。ここで、RGB565選択情報131eが”1”であればRGBデータ119はRGB565フォーマットであるので、ビット15〜11、ビット10〜5、ビット4〜0にそれぞれB、G、Rが割り当てられる。これは、先に説明した図3(B)のケースに相当する。一方、RGB565選択情報131eが”0”であればRGBデータ119はRGB555フォーマットであるため、MSB指定情報131aにより指定されるMSB(ビット15)には有効データが存在しない。従って、RGBデータ119のビット14〜10、ビット9〜5、ビット4〜0にそれぞれB、G、Rが割り当てられる。これは、先に説明した図3(C)のケースに相当する。
【0081】
一方、図5(B)は、MSB指定情報として”0111”(ビット7がMSB)が設定されているケースを示している。
【0082】
従って、例えば、R位置指定情報131b=”1000”、G位置指定情報131c=”0100”、B位置指定情報131d=”0010”であれば、RGBデータ119のビット7をMSBとしてR→G→Bの順にビットが割り当てられる。ここで、RGB565選択情報131eが”1”であればRGBデータ119はRGB565フォーマットであるので、ビット7〜3、ビット2〜0及び15〜13、ビット12〜8にそれぞれR、G、Bが割り当てられる。一方、RGB565選択情報131eが”0”であればRGBデータ119はRGB555フォーマットであるため、MSB指定情報131aにより指定されるMSB(ビット7)には有効データが存在しない。従って、RGBデータ119のビット6〜2、ビット1〜0及び15〜13、ビット12〜8にそれぞれR、G、Bが割り当てられる。このように、MSB指定情報131aの設定値が”1111”以外であれば、RGBデータ119のビット0の次にビット15が続くものとしてR、G、Bの並び順が特定される。
【0083】
また、例えば、R位置指定情報131b=”0010”、G位置指定情報131c=”0100”、B位置指定情報131d=”1000”であれば、RGBデータ119のビット7をMSBとしてB→G→Rの順にビットが割り当てられる。ここで、RGB565選択情報131eが”1”であればRGBデータ119はRGB565フォーマットであるので、ビット7〜3、ビット2〜0及び15〜13、ビット12〜8にそれぞれB、G、Rが割り当てられる。一方、RGB565選択情報131eが”0”であればRGBデータ119はRGB555フォーマットであるため、MSB指定情報131aにより指定されるMSB(ビット7)には有効データが存在しない。従って、RGBデータ119のビット6〜2、ビット1〜0及び15〜13、ビット12〜8にそれぞれB、G、Rが割り当てられる。これは、先に説明した図3(D)のケースに相当する。
【0084】
このように、R位置指定情報131b、G位置指定情報131c、B位置指定情報131dにより、RGBデータ119(すなわち、Rデータ151の下位16ビットデータ又は上位16ビットデータ)におけるRデータ、Gデータ、Bデータの並び順を特定することができる。すなわち、R位置指定情報131b、G位置指定情報131c、B位置指定情報131dは、図1で説明した第1の設定情報31として機能する。
【0085】
また、MSB指定情報131aにより、RGBデータ119(すなわち、Rデータ151の下位16ビットデータ又は上位16ビットデータ)におけるR、G、Bの並び順の基準となる基準ビットを特定することができる。すなわち、MSB指定情報131aは、図1で説明した第2の設定情報32として機能する。
【0086】
また、RGB565選択情報131eにより、MSB指定情報131aにより特定される基準ビットがRデータ、Gデータ又はBデータのいずれかの一部であるか否かを特定することができる。すなわち、RGB565選択情報131eは、図1で説明した第3の設定情報32として機能する。
【0087】
図4に戻り、バレルシフター112は、MSB指定情報131aにより指定されるRGBデータ119のビットが最上位ビット(MSB)になるように必要に応じてRGBデータ119を巡回シフトし、RGBデータ113(16ビット)を生成する処理を行う。例えば、MSB指定情報131aとして”1111”が設定されている場合(図5(A)のケース)は、MSBとしてRGBデータ119のビット15(MSB)が指定されているので、バレルシフター112は巡回シフトを行わない。従って、RGBデータ113はRGBデータ119と一致する。一方、例えば、MSB指定情報131aとして”0111”が設定されている場合(図5(B)のケース)は、MSBとしてRGBデータ119のビット7が指定されているので、バレルシフター112はRGBデータ119のビット7がRGBデータ113のMSBになるように8ビットだけ左巡回シフトを行う。従って、RGBデータ113のビット15〜8及びビット7〜0は、それぞれRGBデータ119のビット7〜0及びビット15〜8と一致する。
【0088】
RGBデータ113は、選択回路114a、114b、114cに入力される。選択回路114a、114b、114cは、R位置指定情報131b、G位置指定情報131c、先に説明した図5(A)と同じ論理に従い、B位置指定情報131d及びRGB565選択情報131eの組み合わせに応じて決まるビット位置からRGBデータ113のビットを取り出し、それぞれ5ビットのRデータ115a、5ビット又は6ビットのGデータ115b、5ビットのBデータ115cを生成する。
【0089】
選択回路114aは、R位置指定情報131b=”1000”であれば、RGB565選択情報131e=”1”の時はRGBデータ113のビット15〜11(5ビット)を選択し、RGB565選択情報131e=”0”の時はRGBデータ113のビット14〜10(5ビット)を選択してRデータ115aとする。また、選択回路114aは、R位置指定情報131b=”0100”であれば、G位置指定情報131c=”0010”かつB位置指定情報131d=”1000”かつRGB565選択情報131e=”1”の時はRGBデータ113のビット10〜6(5ビット)を選択し、それ以外の時はRGBデータ113のビット9〜5(5ビット)を選択してRデータ115aとする。また、選択回路114aは、R位置指定情報131b=”0010”であれば、常にRGBデータ113のビット4〜0(5ビット)を選択してRデータ115aとする。
【0090】
選択回路114bは、G位置指定情報131c=”1000”であれば、RGB565選択情報131e=”1”の時はRGBデータ113のビット15〜10(6ビット)を選択し、RGB565選択情報131e=”0”の時はRGBデータ113のビット14〜10(5ビット)を選択してGデータ115bとする。また、選択回路114bは、G位置指定情報131c=”0100”であれば、RGB565選択情報131e=”1”の時はRGBデータ113のビット10〜5(6ビット)を選択し、RGB565選択情報131e=”0”の時はRGBデータ113のビット9〜5(5ビット)を選択してGデータ115bとする。また、選択回路114bは、G位置指定情報131c=”0010”であれば、RGB565選択情報131e=”1”の時はRGBデータ113のビット5〜0(6ビット)を選択し、RGB565選択情報131e=”0”の時はRGBデータ113のビット4〜0(5ビット)を選択してGデータ115bとする。
【0091】
選択回路114cは、B位置指定情報131d=”1000”であれば、RGB565選択情報131e=”1”の時はRGBデータ113のビット15〜11(5ビット)を選択し、RGB565選択情報131e=”0”の時はRGBデータ113のビット14〜10(5ビット)を選択してBデータ115cとする。また、選択回路114cは、B位置指定情報131d=”0100”であれば、R位置指定情報131b=”1000”かつG位置指定情報131c=”0010”かつRGB565選択情報131e=”1”の時はRGBデータ113のビット10〜6(5ビット)を選択し、それ以外の時はRGBデータ113のビット9〜5(5ビット)を選択してBデータ115cとする。また、選択回路114cは、B位置指定情報131d=”0010”であれば、常にRGBデータ113のビット4〜0(5ビット)を選択してBデータ115cとする。
【0092】
Rデータ115a、Gデータ115b、Bデータ115cは、それぞれビット拡張回路116a、116b、116cに入力される。
【0093】
ビット拡張回路116aは、5ビットのRデータ115aをビット拡張して10ビットのRデータ111aを生成する処理を行う。具体的には、ビット拡張回路116aは、図6(A)に示すように、Rデータ111aのビット9〜5にRデータ115aのビット4〜0をコピーするとともにRデータ111aのビット4〜0にRデータ115aのビット4〜0をコピーする処理を行う。
【0094】
ビット拡張回路116bは、RGB565選択情報131eに従い5ビット又は6ビットのGデータ115bをビット拡張して10ビットGデータ111bを生成する処理を行う。具体的には、RGB565選択情報131e=”0”の時は、ビット拡張回路116bは、図6(A)に示すように、Gデータ111bのビット9〜5にGデータ115bのビット4〜0をコピーするとともにGデータ111bのビット4〜0にGデータ115bのビット4〜0をコピーする処理を行う。一方、RGB565選択情報131e=”1”の時は、ビット拡張回路116bは、図6(B)に示すように、Gデータ111bのビット9〜4にGデータ115bのビット5〜0をコピーするとともにGデータ111bのビット3〜0にGデータ115bのビット5〜2をコピーする処理を行う。
【0095】
そして、Rデータ111a、Gデータ111b、Bデータ111cは、図2で説明したように、画像処理回路120に出力されて画像処理の対象となる。
【0096】
図6(A)及び図6(B)に示したようにビット拡張すれば、5ビットのRデータ115aが最大値(”11111”)である場合、10ビットのRデータ111aも最大値(”1111111111”)になる。また、5ビットのRデータ115aが最小値(”00000”)である場合、10ビットのRデータ111aも最小値(”0000000000”)になる。従って、10ビットのレンジ(”0000000000”〜”1111111111”)を最大限有効に利用することができるので、ビット拡張に伴ってRデータ111aに生じる誤差を最小にすることができる。
【0097】
同様の理由により、ビット拡張に伴ってGデータ111bやBデータ111cに生じる誤差も最小にすることができる。
【0098】
図7は、データ処理回路100Aの動作タイミングの一例を示すタイミングチャートである。
【0099】
時刻t〜tにおいて、タイミング生成回路170により、クロック信号(CLK)に同期して画像処理回路310に垂直同期信号301(VS)が送信される。
【0100】
所定時間経過後の時刻tにおいて、CPU210等がセレクト信号203b(HSEL2)、ライト信号204b(HWRITE2)、レディー入力信号205b(HRDYIN2)をローレベルからハイレベルに遷移させるとともに、汎用バス200を介して、FIFOメモリー150のアドレス(00000000H)を示すアドレスデータ201b(HAD2[31:0])をデータ処理回路100Aに送信する。
【0101】
また、時刻t以降、CPU210等は、1クロックサイクルごとにレディー入力信号205b(HRDYIN2)の極性を反転させるとともに、2クロックサイクルごとに2画素分のRGBデータを含むライトデータ202b(HWD2[31:0])をデータ処理回路100Aに送信する。
【0102】
バスインターフェース回路140bは、セレクト信号203b(HSEL2)とレディー入力信号205b(HRDYIN2)がともにハイレベルの時(時刻t〜t、時刻t〜t、時刻t〜t、時刻t〜t10、・・・)のアドレスデータ201b(HAD2[31:0])により指定されるアドレス(すべてFIFOメモリー150のアドレス00000000Hである)に、その次のクロックサイクル(時刻t〜t、時刻t〜t、時刻t〜t、時刻t10〜t11、・・・)のライトデータ202b(HWD2[31:0])を書き込む。
【0103】
時刻t〜tにおいて、ライトデータ202b(HWD2[31:0])の下位16ビット(HWD2[15:0])及び上位16ビット(HWD2[31:16])にはそれぞれ1画素目のRGBデータ(RGB0)及び2画素目のRGBデータ(RGB1)が含まれており、時刻tにおいて、FIFOメモリー150の先頭のバッファーに1画素目のRGBデータ(RGB0)と2画素目のRGBデータ(RGB1)が書き込まれる。その結果、時刻t〜tにおいて、RGBデータ151(RGBX2[31:0])の下位16ビット及び上位16ビットがそれぞれRGB0及びRGB1になる。
【0104】
時刻t〜tにおいて、RGBフォーマット変換回路110により、RGB0及びRGB1からそれぞれ1画素目と2画素目のR、G、Bの各データ(R0,G0,B0)と(R1,G1,B1)が順に生成される。
【0105】
より詳細には、まず、RGB選択回路118により、時刻t〜tではRGBデータ151(RGBX2[31:0])の下位16ビットデータが選択されてRGBデータ119(RGB[15:0])がRGB0になり、時刻t〜tではRGBデータ151(RGBX2[31:0])の上位16ビットデータが選択されてRGBデータ119(RGB[15:0])がRGB1になる。
【0106】
そして、バレルシフター112によりRGBデータ119(RGB[15:0])が必要に応じて巡回シフトされ、選択回路114a、114b、114cによりR、G、Bの各データが取り出され、それぞれビット拡張回路116a、116b、116cにより10ビットにビット拡張される。その結果、Rデータ111a(R[9:0])、Gデータ111b(G[9:0])、Bデータ111c(B[9:0])は、時刻t〜tではR0、G0、B0になり、時刻t〜tではR1、G1、B1になる。
【0107】
時刻t〜tにおいて、色変換回路120により、1画素目(R0,G0,B0)と2画素目(R1,G1,B1)が順にY、U、Vに変換される。その結果、Yデータ121a(Y[9:0])、Uデータ121b(U[9:0])、Vデータ121c(V[9:0])は、時刻t〜tでは1画素目のY、U、Vの各データ(Y0,U0,V0)になり、時刻t〜tでは2画素目のY、U、Vの各データ(Y1,U1,V1)になる。
【0108】
そして、時刻tにおいて、FIFOメモリー160の先頭バッファーのビット29〜20(YUV[29:20])、ビット19〜10(YUV[19:10])、ビット9〜0(YUV[9:0])にそれぞれY0、U0、V0が書き込まれ、クロック信号(CLK)に同期してデータイネーブル信号303(DE)とともに画像処理回路310に送信される。
【0109】
また、時刻tにおいて、FIFOメモリー160の先頭バッファーのビット29〜20(YUV[29:20])、ビット19〜10(YUV[19:10])、ビット9〜0(YUV[9:0])にそれぞれY1、U1、V1が書き込まれ、クロック信号(CLK)に同期してデータイネーブル信号303(DE)とともに画像処理回路310に送信される。
【0110】
3画素目と4画素目のRGBデータ(RGB2,RGB3)、5画素目と6画素目のRGBデータ(RGB4,RGB5)、7画素目と8画素目のRGBデータ(RGB6,RGB7)、・・・についても、1画素目と2画素番目のRGBデータ(RGB0,RGB1)と同様にそれぞれYUVデータへの変換処理が行われて画像処理回路310に送信される。
【0111】
なお、必要であれば、タイミング生成回路170により、時刻t〜tにおいて、クロック信号(CLK)に同期して画像処理回路310に水平同期信号302(HS)が送信されるようにしてもよい。
【0112】
以上、説明したように、第1実施形態のデータ処理回路100Aによれば、汎用バス200を介して転送されるRGB555フォーマット又はRGB565フォーマットのRGBデータに対して画素フォーマット変換と色変換を施し、ビデオバス300を介して転送されるYUVデータに変換するので、CPU210であらかじめ画素フォーマット変換や色変換を行う必要がない。そのため、CPU210の負荷やメモリー資源を低減することができる。
【0113】
また、第1実施形態のデータ処理回路100Aによれば、R位置指定情報131b、G位置指定情報131c、B位置指定情報131dにより、RGB555フォーマット又はRGB565フォーマットのRGBデータにおけるR、G、Bのデータの並び順を特定することができる。そのため、汎用バス200を介して転送されるRGBデータにおけるR、G、Bのデータの並び順が可変であっても、当該並び順に応じてあらかじめR位置指定情報131b、G位置指定情報131c、B位置指定情報131dを変更することにより、RGBデータから適切にR、G、Bのデータを取り出して10ビットのRデータ111a、Gデータ111b、Bデータ111cに画素フォーマット変換することができる。
【0114】
また、第1実施形態のデータ処理回路100Aによれば、MSB指定情報131aにより、汎用バス200を介して転送されるRGBデータにおけるR、G、Bのデータの並び順の基準となる基準ビットを特定することができる。そのため、汎用バス200を介して転送されるRGBデータの基準ビットの位置が可変であっても、当該基準ビットの位置に応じてあらかじめMSB指定情報131aを変更することにより、RGBデータから適切にR、G、Bの各データを取り出して画素フォーマット変換処理を行うことができる。
【0115】
また、第1実施形態のデータ処理回路100Aによれば、RGB565選択情報131eにより、汎用バス200を介して転送されるRGBデータがRGB555フォーマット又はRGB565フォーマットのいずれであるかを特定することができる。そして、RGB555フォーマットであればR、G、Bのデータの並び順の基準となる基準ビットが無効であり、RGB565フォーマットであれば当該基準ビットが有効であると判断することができる。そのため、汎用バス200を介して転送されるRGBデータの画素フォーマットに応じてRGB565選択情報131eを変更することにより、RGBデータから適切にR、G、Bの各データを取り出して画素フォーマット変換処理を行うことができる。
【0116】
従って、第1実施形態のデータ処理回路100Aによれば、柔軟性の高い画素フォーマット変換処理及び色変換処理を実現することができる。
(2)第2実施形態
図8は、第2実施形態のデータ処理回路の機能ブロック図である。図8において、図1と同じ構成には同じ番号を付しており、その説明を省略する。
【0117】
第2実施形態のデータ処理回路1Bは、図1に示した第1実施形態のデータ処理回路1Aと同様、第1のプロトコルに従う第1のバス2を介して伝送される第1の画素データ信号2aを受け取り、第2のプロトコルに従う第2のバス3を介して伝送される第2の画素データ信号3aに変換して送信する処理を行う。
【0118】
第2実施形態では、第1の画素データ信号2aは、複数の種類の画素フォーマット(例えば、YUV444、YUV422、YUV411、RGB555、RGB565等)のうちのいずれかの画素フォーマットを有している。
【0119】
第2実施形態のデータ処理回路1Bは、第1実施形態のデータ処理回路1Aに対して、第2のフォーマット変換部40と画素データ信号選択部50が追加されている。また、レジスター部30は、第1の設定情報31、第2の設定情報32、第3の設定情報33に加えて、第4の設定情報34と第5の設定情報35をさらに記憶している。
【0120】
第4の設定情報34は、第1の画素データ信号2aの画素フォーマットを特定するための情報である。
【0121】
第5の設定情報35は、所定の画素フォーマットの第1の画素データ信号2aにおける複数の第1の画素要素データの配置を特定するための情報である。例えば、第1の画素データ信号2aがYUV422フォーマット(Y、U、Vのデータ数の比が2:1:1)である場合、第5の設定情報35は、Y0(1画素目のY)、Y1(2画素目のY)、U0(1画素目と2画素目に共通のU)、V0(1画素目と2画素目に共通のV)が配置されているビット位置を特定するための情報である。
【0122】
第2のフォーマット変換部40は、第5の設定情報35に基づいて、所定の画素フォーマット(例えば、YUV422フォーマット)の第1の画素データ信号2aから複数の第1の画素要素データ(例えば、Y0、Y1、U0、V0の各データ)を取り出し、当該複数の第1の画素要素データ(例えば、Y0、Y1、U0、V0の各データ)を含む第2の画素フォーマットの画素データ信号42を生成する処理を行う。
【0123】
また、第2のフォーマット変換部40は、第1の画素データ信号2a(例えば、YUV422フォーマットの画素データ信号)から取り出した複数の第1の画素要素データ(例えば、Y0、Y1、U0、V0の各データ)の各々のビット数をjとした時、当該第1の画素要素データ(例えば、Y0、Y1、U0、V0の各データ)の各々について上位kビット(k≦j)を下位kビットに付加してj+kビットにビット拡張し、第2の画素フォーマットの画素データ信号42を生成する処理を行うようにしてもよい。
【0124】
画素データ選択部50は、第4の設定情報34に基づいて、第1のフォーマット変換部10が生成した画素データ信号12又は第2のフォーマット変換部40が生成した画素データ信号42のいずれか一方を選択する。例えば、画素データ選択部50は、第4の設定情報34に基づいて、第1の画素データ信号2aがYUV系のフォーマット(YUV444、YUV422、YUV411等)である場合は画素データ信号42を選択し、第1の画素データ信号2aがRGB系のフォーマット(RGB555、RGB565等)である場合は画素データ信号12を選択するようにしてもよい。
【0125】
色変換部20は、第1の色空間から第2の色空間への所与の変換式に従い、画素データ選択部50により選択された画素データ信号52(画素データ信号12又は画素データ信号42)を複数の第2の画素要素データ(例えば、Y、U、Vの各データ)を含む画素データ信号22に変換する処理を行う。
【0126】
なお、第1の設定情報31、第2の設定情報32、第3の設定情報33、第4の設定情報34、第5の設定情報35は、レジスター部30において1つのレジスターに記憶されていてもよいし、複数のレジスターに分かれて記憶されていてもよい。
【0127】
以下、図8に示した第2実施形態のデータ処理回路の具体的な構成例について説明する。
【0128】
図9は、第2実施形態のデータ処理回路の具体的な構成の一例を示す図である。図9において、図2と同じ構成には同じ符号を付しており、その説明を省略又は簡略する。
【0129】
第2実施形態では、メモリー230に格納された画素データは、RGBデータ又はYUV422フォーマットの画素データ(以下、「YUV422データ」という)のいずれかである。
【0130】
第2実施形態のデータ処理回路100Bは、汎用バス200を介してメモリー230から転送されるRGBデータが転送される場合、転送されたRGBデータをYUVデータに変換してビデオバス300を介して画像処理回路310に転送する処理を行う。一方、汎用バス200を介してメモリー230から転送されるYUV422データが転送される場合、データ処理回路100Bは、転送されたYUV422データを画素フォーマット変換し、さらに必要に応じて色変換(例えば、YCbCrからYPbPrに色変換)したYUVデータをビデオバス300を介して画像処理回路310に転送する処理を行う。
【0131】
すなわち、データ処理回路100Bは、汎用バス200からビデオバス300へのバスプロトコル変換処理とともに、RGBデータ又はYUV422データからYUVデータへの変換処理を同時に行う。
【0132】
なお、汎用バス200を介して転送されるRGBデータ又はYUV422データは図1及び図8で説明した第1の画素データ信号2aの一例であり、ビデオバス300を介して転送されるYUVデータは図8で説明した第2の画素データ信号3aの一例である。
【0133】
第2実施形態でも、汎用バス200を介してRGBデータが転送される場合は、第1実施形態と同じく、ライトデータ202bにより2画素分のRGBデータが同時に転送され、1画素分のRGBデータのフォーマットは図3(A)〜図3(D)に示したようなフォーマットである。
【0134】
第2実施形態において、汎用バス200を介してYUV422データが転送される場合、ライトデータ202bにより2画素分のYUV422データが同時に転送され、2画素分のYUV422データは、図10(A)〜図10(D)のいずれかのフォーマットである。
【0135】
図10(A)に示すフォーマットは、ビット15〜8とビット31〜24にそれぞれ1画素目のYデータ(Y0)と2画素目のYデータ(Y1)が配置されており、ビット7〜0とビット23〜16にそれぞれUデータ(U0)とVデータ(V0)が配置されている。
【0136】
また、図10(B)に示すフォーマットは、ビット15〜8とビット31〜24にそれぞれ1画素目のYデータ(Y0)と2画素目のYデータ(Y1)が配置されており、ビット23〜16とビット7〜0にそれぞれUデータ(U0)とVデータ(V0)が配置されている。
【0137】
また、図10(C)に示すフォーマットは、ビット7〜0とビット23〜16にそれぞれ1画素目のYデータ(Y0)と2画素目のYデータ(Y1)が配置されており、ビット15〜8とビット31〜24にそれぞれUデータ(U0)とVデータ(V0)が配置されている。
【0138】
また、図10(D)に示すフォーマットは、ビット7〜0とビット23〜16にそれぞれ1画素目のYデータ(Y0)と2画素目のYデータ(Y1)が配置されており、ビット31〜24とビット15〜8にそれぞれUデータ(U0)とVデータ(V0)が配置されている。
【0139】
なお、図10(A)〜図10(D)において、Uデータ(U0)とVデータ(V0)は1画素目と2画素目に共通のデータである。
【0140】
以下では、図10(A)〜図10(D)に示すフォーマットを、LSB(Least Significant Bit)からのデータの並び順に起因して、それぞれ「UYVYフォーマット」、「VYUYフォーマット」、「YUYVフォーマット」、「YVYUフォーマット」ということにする。
【0141】
図9に戻り、第2実施形態のデータ処理回路100Bは、第1実施形態のデータ処理回路100Aに対して、YUVフォーマット変換回路180(図8で説明した第2のフォーマット変換部40の一例)と選択回路190(図8で説明した画素データ信号選択部50の一例)が付加されている。
【0142】
YUVフォーマット変換回路180は、FIFOメモリー150の先頭に格納されたYUV422データ152(YUV422[31:0])を受け取り、10ビットのVデータ181a(V[9:0])、Yデータ181b(Y[9:0])、Uデータ181c(U[9:0])(図8で説明した画素データ信号42の一例)に画素フォーマット変換する処理を行う。後述するように、フォーマット変換設定レジスター131には、YUV422データ152が図10(A)〜図10(D)に示したいずれのフォーマットであるかを特定するための情報があらかじめ設定されており、YUVフォーマット変換回路180はその設定情報に基づいて画素フォーマット変換処理を行う。
【0143】
選択回路190は、Rデータ111a、Gデータ111b、Bデータ111cの組又はVデータ181a、Yデータ181b、Uデータ181cの組のいずれか一方の組を選択し、10ビットのR又はVのデータ(以下、「RVデータ」という)191a(RV[9:0])、G又はYのデータ(以下、「GYデータ」という)191b(GY[9:0])、B又はUのデータ(以下、「BUデータ」という)191c(BU[9:0])として出力する処理を行う。後述するように、フォーマット変換設定レジスター131には、入力された画素データがRGBデータかYUV422データかを特定するための情報があらかじめ設定されており、選択回路190はその設定情報に基づいて選択処理を行う。
【0144】
色変換回路120は、第1実施形態で説明した前出の変換式に従い、選択回路190が出力する10ビットのRVデータ191a、GYデータ191b、BUデータ191cを10ビットのYデータ121a、Uデータ121b、Vデータ121cに変換する処理を行う。
【0145】
第2実施形態におけるその他の構成については、第1実施形態と同様であるため説明を省略する。
【0146】
図11は、YUVフォーマット変換回路180の具体的な構成の一例について説明するための図である。
【0147】
第2実施形態では、フォーマット変換設定レジスター131には、第1実施形態で説明したMSB指定情報131a、R位置指定情報131b、G位置指定情報131c、B位置指定情報131d、RGB565選択情報131eに加えて、YUV422位置選択情報131f及び画素フォーマット選択情報131gが設定されている。
【0148】
YUV422位置選択情報131fは、YUV422データ152に含まれる各画素データがUYVYフォーマット、VYUYフォーマット、YUYVフォーマット、YVYUフォーマットのいずれであるかを選択するための情報である。例えば、YUV422位置選択情報131fとして”00”、”01”、”10”、”11”を設定することで、それぞれUYVYフォーマット、VYUYフォーマット、YUYVフォーマット、YVYUフォーマットが選択される。
【0149】
画素フォーマット選択情報131gは、汎用バス200を介して転送される画素データがRGBデータかYUV422データかを選択するための情報である。例えば、画素フォーマット選択情報131gとして”0”又は”1”を設定することで、それぞれRGBデータ又はYUV422データが選択される。
【0150】
YUVフォーマット変換回路180は、Y0選択タイミング生成回路182、選択回路184a、184b、184c、ビット拡張回路186a、186b、186cを含んで構成されている。そして、YUVフォーマット変換回路180は、YUV422位置選択情報131fに基づいて処理を行う。
【0151】
Y0選択タイミング生成回路182は、選択回路184bにYUV422データ152における1画素目のYデータ(Y0)と2画素目のYデータ(Y1)のいずれを選択させるかを指示するためのY0選択信号183(Y0SEL)を生成する処理を行う。
【0152】
YUV422データ152は、選択回路184a、184b、184cに入力される。
【0153】
選択回路184a、184cは、YUV422位置選択情報131fに応じて決まるYUV422データ152のビット位置からそれぞれ8ビットのVデータ185a、Uデータ185cをそれぞれ取り出す処理を行う。
【0154】
また、選択回路184bは、YUV422位置選択情報131f及びY0選択信号183に応じて決まるYUV422データ152のビット位置から8ビットのYデータ185bを取り出す処理を行う。
【0155】
図12に、選択回路184a、184b、184cの選択論理の真理値表を示す。先に説明したように、YUV422データ152は、YUV422位置選択情報131fが”00”であればUYVYフォーマット、”01”であればVYUYフォーマット、”10”であればYUYVフォーマット、”11”であればYVYUフォーマットである。
【0156】
従って、図12に示すように、選択回路184aは、YUV422位置選択情報131f=”00”、”01”、”10”、”11”の各ケースに対して、それぞれYUV422データ152のビット23〜16、ビット7〜0、ビット31〜24、ビット15〜8を選択してVデータ185aとする。
【0157】
選択回路184bは、YUV422位置選択情報131f=”00”又は”01”であれば、Y0選択信号183=”1”の時はYUV422データ152のビット15〜8を選択し、Y0選択信号183=”0”の時はYUV422データ152のビット31〜24を選択してYデータ185bとする。また、選択回路184bは、YUV422位置選択情報131f=”10”又は”11”であれば、Y0選択信号183=”1”の時はYUV422データ152のビット7〜0を選択し、Y0選択信号183=”0”の時はYUV422データ152のビット23〜16を選択してYデータ185bとする。
【0158】
選択回路184cは、YUV422位置選択情報131f=”00”、”01”、”10”、”11”の各ケースに対して、それぞれYUV422データ152のビット7〜0、ビット23〜16、ビット15〜8、ビット31〜24を選択してUデータ185cとする。
【0159】
このように、YUV422位置選択情報131fにより、YUV422データにおけるYデータ、Uデータ、Vデータの配置を特定することができる。すなわち、YUV422位置選択情報131fは、図8で説明した第5の設定情報35として機能する。
【0160】
図11に戻り、Vデータ185a、Yデータ185b、Uデータ185cは、それぞれビット拡張回路186a、186b、186cに入力される。
【0161】
ビット拡張回路186a、186b、186cは、それぞれ8ビットのVデータ185a、Yデータ185b、Uデータ185cをビット拡張して10ビットのVデータ181a、Yデータ181b、Uデータ181cを生成する処理を行う。
【0162】
具体的には、図13に示すように、ビット拡張回路186aは、Vデータ181aのビット9〜2にVデータ185aのビット7〜0をコピーするとともに、Vデータ181aのビット1〜0にVデータ185aのビット7〜6をコピーする処理を行う。
【0163】
同様に、ビット拡張回路186bは、Yデータ181bのビット9〜2にYデータ185bのビット7〜0をコピーするとともに、Yデータ181bのビット1〜0にYデータ185bのビット7〜6をコピーする処理を行う。
【0164】
同様に、ビット拡張回路186cは、Uデータ181cのビット9〜2にUデータ185cのビット7〜0をコピーするとともに、Uデータ181cのビット1〜0にUデータ185cのビット7〜6をコピーする処理を行う。
【0165】
図13に示したようにビット拡張すれば、8ビットのVデータ185aが最大値(”11111111”)である場合、10ビットのVデータ181aも最大値(”1111111111”)になる。また、8ビットのVデータ185aが最小値(”00000000”)である場合、10ビットのVデータ181aも最小値(”0000000000”)になる。従って、10ビットのレンジ(”0000000000”〜”1111111111”)を最大限有効に利用することができるので、ビット拡張に伴ってVデータ181aに生じる誤差を最小にすることができる。
【0166】
同様の理由により、ビット拡張に伴ってYデータ181bやUデータ181cに生じる誤差も最小にすることができる。
【0167】
選択回路190は、画素フォーマット選択情報131g=”0”であればRデータ111a、Gデータ111b、Bデータ111cの組を選択し、画素フォーマット選択情報131g=”1”であればYデータ181a、Uデータ181b、Vデータ181cの組を選択してRVデータ191a、GYデータ191b、BUデータ191cとする。
【0168】
このように、画素フォーマット選択情報131gにより、汎用バス200を介して転送される画素データの画素フォーマット(RGBかYUV422のいずれか)を特定することができる。すなわち、画素フォーマット選択情報131gは、図8で説明した第4の設定情報34として機能する。
【0169】
図14は、データ処理回路100Bの動作タイミングの一例を示すタイミングチャートである。図14は、汎用バス200を介してYUV422データが入力される場合のデータ処理回路100Bの動作タイミングの一例を示している。なお、汎用バス200を介してRGBデータが入力される場合のデータ処理回路100Bの動作タイミングは図7と同じであるので説明を省略する。
【0170】
時刻t〜tにおいて、タイミング生成回路170により、クロック信号(CLK)に同期して画像処理回路310に垂直同期信号301(VS)が送信される。
【0171】
所定時間経過後の時刻tにおいて、CPU210等がセレクト信号203b(HSEL2)、ライト信号204b(HWRITE2)、レディー入力信号205b(HRDYIN2)をローレベルからハイレベルに遷移させるとともに、汎用バス200を介して、FIFOメモリー150のアドレス(00000000H)を示すアドレスデータ201b(HAD2[31:0])をデータ処理回路100Bに送信する。
【0172】
また、時刻t以降、CPU210等は、1クロックサイクルごとにレディー入力信号205b(HRDYIN2)の極性を反転させるとともに、2クロックサイクルごとに2画素分のYUV422データを含むライトデータ202b(HWD2[31:0])をデータ処理回路100Bに送信する。ここで、CPU210等から送信されるYUV422データは、UYVYフォーマットであるものとする。
【0173】
バスインターフェース回路140bは、セレクト信号203b(HSEL2)とレディー入力信号205b(HRDYIN2)がともにハイレベルの時(時刻t〜t、時刻t〜t、時刻t〜t、時刻t〜t10、・・・)のアドレスデータ201b(HAD2[31:0])により指定されるアドレス(すべてFIFOメモリー150のアドレス00000000Hである)に、その次のクロックサイクル(時刻t〜t、時刻t〜t、時刻t〜t、時刻t10〜t11、・・・)のライトデータ202b(HWD2[31:0])を書き込む。
【0174】
時刻t〜tにおいて、ライトデータ202b(HWD2[31:0])には1画素目と2画素目のYUV422データ(y1,v0,y0,u0)が含まれており、時刻tにおいて、FIFOメモリー150の先頭のバッファーに1画素目と2画素目のYUV422データ(y1,v0,y0,u0)が書き込まれる。その結果、時刻t〜tにおいて、YUV422データ152(YUV422[31:0])のビット31〜24、ビット23〜16、ビット15〜8、ビット7〜0がそれぞれy1、v0、y0、u0になる。
【0175】
時刻t〜tにおいて、YUVフォーマット変換回路180により、1画素目と2画素目のV、Y、Uの各データ(v0’,y0’,u0’)と(v0’,y1’,u0’)が順に生成される。
【0176】
より詳細には、時刻t〜tにおいて、選択回路184aにより、YUV422データ152(YUV422[31:0])のビット23〜16が選択されてVデータ185aがv0になり、選択回路184cにより、YUV422データ152(YUV422[31:0])のビット7〜0が選択されてUデータ185cがu0になる。
【0177】
また、時刻t〜tではY0選択信号183(Y0SEL)がハイレベルとなり、選択回路184bにより、YUV422データ152(YUV422[31:0])のビット15〜8が選択されてYデータ185bがy0になる。一方、時刻t〜tではY0選択信号183(Y0SEL)がローレベルとなり、選択回路184bにより、YUV422データ152(YU V422[31:0])のビット31〜24が選択されてYデータ185bがy1になる。
【0178】
そして、Vデータ185a、Yデータ185b、Uデータ185cは、それぞれビット拡張回路116a、116b、116cにより10ビットにビット拡張され、Vデータ181a(V[9:0])、Yデータ181b(Y[9:0])、Uデータ181c(U[9:0])は、時刻t〜tではそれぞれv0’、y0’、u0’になり、時刻t〜tではそれぞれv0’、y1’、u0’になる。
【0179】
さらに、選択回路190により、Vデータ181a(V[9:0])、Yデータ181b(Y[9:0])、Uデータ181c(U[9:0])が選択され、RVデータ191a(RV[9:0])、GYデータ191b(GY[9:0])、BUデータ191c(BU[9:0])は、時刻t〜tではそれぞれv0’、y0’、u0’になり、時刻t〜tではそれぞれv0’、y1’、u0’になる。
【0180】
時刻t〜tにおいて、色変換回路120により、1画素目(v0’,y0’,u0’)と2画素目(v0’,y1’,u0’)が順にY、U、Vに変換される。その結果、Yデータ121a(Y[9:0])、Uデータ121b(U[9:0])、Vデータ121c(V[9:0])は、時刻t〜tでは1画素目のY、U、Vの各データ(Y0,U0,V0)になり、時刻t〜tでは2画素目のY、U、Vの各データ(Y1,U1,V1)になる。
【0181】
そして、時刻tにおいて、FIFOメモリー160の先頭バッファーのビット29〜20(YUV[29:20])、ビット19〜10(YUV[19:10])、ビット9〜0(YUV[9:0])にそれぞれY0、U0、V0が書き込まれ、クロック信号(CLK)に同期してデータイネーブル信号303(DE)とともに画像処理回路310に送信される。
【0182】
また、時刻tにおいて、FIFOメモリー160の先頭バッファーのビット29〜20(YUV[29:20])、ビット19〜10(YUV[19:10])、ビット9〜0(YUV[9:0])にそれぞれY1、U1、V1が書き込まれ、クロック信号(CLK)に同期してデータイネーブル信号303(DE)とともに画像処理回路310に送信される。
【0183】
3画素目と4画素目のYUV422データ(y3,v1,y2,u1)、5画素目と6画素目のYUV422データ(y5,v2,y4,u2)、7画素目と8画素目のYUV422データ(y7,v3,y6,u3)、・・・についても、1画素目と2画素目のYUV422データ(y1,v0,y0,u0)と同様にそれぞれYUVデータへの変換処理が行われて画像処理回路310に送信される。
【0184】
なお、必要であれば、タイミング生成回路170により、時刻t〜tにおいて、クロック信号(CLK)に同期して画像処理回路310に水平同期信号302(HS)が送信されるようにしてもよい。
【0185】
以上、説明したように、第2実施形態のデータ処理回路100Bによれば、汎用バス200を介して転送されるRGBデータやYUVデータに対して画素フォーマット変換と色変換を施し、ビデオバス300を介して転送されるYUVデータに変換するので、CPU210であらかじめ画素フォーマット変換や色変換を行う必要がない。そのため、CPU210の負荷やメモリー資源を低減することができる。
【0186】
また、第2実施形態のデータ処理回路100Bによれば、第1実施形態のデータ処理回路100Aが奏する効果に加えて、以下のような効果も奏することができる。
【0187】
まず、YUV422位置選択情報131fにより、YUV422データがUYVY、VYUY、YUYV、YVYUのいずれのフォーマットであるかを特定することができる。そのため、汎用バス200を介して転送されるYUV422データがUYVY、VYUY、YUYV、YVYUのいずれのフォーマットであっても、当該フォーマットに応じてあらかじめYUV422位置選択情報131fを変更することにより、YUV422データからV、Y、Uのデータを取り出して10ビットのVデータ181a、Yデータ181b、Uデータ181cに画素フォーマット変換することができる。
【0188】
さらに、画素フォーマット選択情報131gにより、選択回路190に、Rデータ111a、Gデータ111b、Bデータ111cの組とVデータ181a、Yデータ181b、Uデータ181cの組のいずれを選択させるかを制御することができる。そのため、汎用バス200を介して転送される画素データの画素フォーマットに応じてあらかじめ画素フォーマット選択情報131gを変更することにより、Rデータ111a、Gデータ111b、Bデータ111cの組とVデータ181a、Yデータ181b、Uデータ181cの組を選択して色変換処理を行うことができる。
【0189】
従って、第2実施形態のデータ処理回路100Bによれば、第1実施形態のデータ処理回路100Aよりもさらに柔軟性の高い画素フォーマット変換処理と色変換処理を実現することができる。
【0190】
2.集積回路装置、電子機器
図15は、本実施形態の電子機器の一例としてのプロジェクターの構成を示すブロック図である。
【0191】
プロジェクター400は、画像処理装置500、照明光学系610、液晶パネル620、投写光学系630を備えている。照明光学系610から照射された照明光が液晶パネル620を透過して画像を表す画像光に変調される。画像光が投写光学系630によりスクリーン700上に投写されることにより、スクリーン700上に画像が表示される。
【0192】
画像処理装置500は、データ処理回路510、画像処理回路520、液晶パネル駆動回路530、CPU540、ROM550、RAM560、USBコントローラー570、DMAコントローラー580等のブロックを備えており、これらのブロックが1つの半導体チップ上に集積された集積回路装置(IC:Integrated Circuit)として実現されている。
【0193】
データ処理回路510、画像処理回路520、液晶パネル駆動回路530、CPU540、ROM550、RAM560、USBコントローラー570、DMAコントローラー580は、汎用バス590に接続されており、共通のクロック信号(図示省略)に同期して互いに通信可能になっている。
【0194】
汎用バス590は、IC内部で各種ブロックを接続するために使われるいわゆる「オンチップ・バス」であり、例えば、AMBA(登録商標)規格で定められたAHB(Advanced High-Performance Bus)が用いられる。汎用バス590は、様々なビットデータの伝送が可能な汎用的なバスであり、AMBA(登録商標)規格などにより定められたプロトコルに従って双方向通信が可能である。
【0195】
CPU540は、ROM550に格納された制御プログラムを実行して、画像処理装置500全体、例えば、データ処理回路510、画像処理回路520、液晶パネル駆動回路530、USBコントローラー570、DMAコントローラー580の制御を行う。また、CPU540は、ROM550やRAM560に格納された画像データを、汎用バス590を介してデータ処理回路510に送信する処理を行う。
【0196】
RAM560は、CPU540や画像処理回路520による演算結果や画像データを一時的に記憶するためなどに用いられる。
【0197】
USBコントローラー570は、図示しないDVDプレーヤやパソコンなどからUSBケーブルを介して入力された画像データを取得し、取得した画像データを、汎用バス590を介して、RAM560に書き込み、又はデータ処理回路510に送信する処理を行う。
【0198】
DMAコントローラー580は、ROM550やRAM560に格納された画像データを、汎用バス590を介してデータ処理回路510に送信する処理を行う。従って、例えば、データ処理回路510に大量の画像データを送信する必要があるような場合、CPU540は、DMAコントローラー580に制御データ(各種制御レジスターの設定値等)を送信し、必要な画像データの送信処理をDMAコントローラーに任せることができる。こうすることにより、CPU540の負荷が低減される。
【0199】
一方、データ処理回路510と画像処理回路520、画像処理回路520と液晶パネル駆動回路530は、それぞれビデオバス512、522によって接続されている。ビデオバス512、522は、デジタルの画像データを伝送するための専用バスであり、汎用バス590とは異なるプロトコルに従って一方向通信を行う。画像データは、例えば、動画像や静止画像の各フレームの先頭を表す1ビットの垂直同期信号、各画素の情報を表す複数ビット(例えば10ビット)の画素データ、画素データが有効であるタイミングを表す1ビットのデータイネーブル信号により構成される。
【0200】
データ処理回路510は、図1〜図14で説明したデータ処理回路で実現され、汎用バス590を介して画素データを受け取り、受け取った画素データに対して画素フォーマット変換処理や色変換処理を行う。そして、データ処理回路510は、ビデオバス512を介して、画像処理回路520に、各フレームの先頭で垂直同期信号を送信した後、1フレーム分の画素データ(画素フォーマット変換処理や色変換処理がされた画素データ)をデータイネーブル信号とともに送信する処理を行う。
【0201】
画像処理回路520は、ビデオバス512を介してデータ処理回路510から垂直同期信号を受信することにより新たなフレームの画素データが送信されてくることを認識する。そして、画像処理回路520は、データイネーブル信号が有効である時の画素データを取得し、当該画像データが表す画像を調整する画像処理を行い、画像処理後の画像データを、ビデオバス522を介して液晶パネル駆動回路530に送信する処理を行う。ビデオバス522を介して送信される画像データの仕様は、ビデオバス512を介して送信される画像データの仕様と同じである。
【0202】
画像処理回路520による画像処理には、例えば、輝度、コントラスト、色合い等の調整処理、台形歪みなどの画像の歪みを補正する処理、各種設定項目を画面に表示するためのいわゆるOSD(on-screen display)処理が含まれる。画像処理回路520は、汎用バス590を介して制御データ(各種制御レジスターの設定値等)を受け取り、制御データに従って各種の画像処理を実行する。
【0203】
液晶パネル駆動回路530は、画像処理回路520からビデオバス522を介して送信された画像データに基づいて、液晶パネル620を駆動する。この結果、液晶パネル620に画像データが表す画像が形成され、スクリーン700上に所望の画像が投写されることになる。
【0204】
本実施形態のプロジェクター400において、画像処理装置500に含まれるデータ処理回路510を図1〜図14で説明したデータ処理回路で実現することにより、CPU540で画素フォーマット変換や色変換を行う必要がなくなり、CPU510の負荷やメモリー資源を低減することができる。
【0205】
なお、本実施形態を利用できる電子機器としては、プロジェクター以外にも、携帯電話、携帯型ゲーム装置、パーソナルコンピューター、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、ワードプロセッサー、ビューファインダー型又はモニター直視型のビデオテープレコーダー、カーナビゲーション装置等の種々の電子機器を考えることができる。
【0206】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0207】
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【0208】
1A データ処理回路、1B データ処理回路、2 第1のバス、2a 第1の画素データ信号、3 第2のバス、3a 第2の画素データ信号、10 第1のフォーマット変換部、12 画素データ信号、20 色変換部、22 画素データ信号、30 レジスター部、31 第1の設定情報、32 第2の設定情報、33 第3の設定情報、34 第4の設定情報、35 第5の設定情報、40 第2のフォーマット変換部、42 画素データ信号、50 画素データ選択部、52 画素データ信号、100A データ処理回路、100B データ処理回路、110 RGBフォーマット変換回路、111a Rデータ、111b Gデータ、111c Bデータ、112 バレルシフター、113 RGBデータ、114a〜114c 選択回路、115a Rデータ、115b Gデータ、115c Bデータ、116a〜116c ビット拡張回路、118 RGB選択回路、119 RGBデータ、120 色変換回路、121a Yデータ、121b Uデータ、121c Vデータ、130 レジスターブロック、131 フォーマット変換設定レジスター、131a MSB指定情報、131b R位置指定情報、131c G位置指定情報、131d B位置指定情報、131e RGB565選択情報、131f YUV422位置選択情報、131g 画素フォーマット選択情報、132 色変換設定レジスター、140a バスインターフェース回路、140b バスインターフェース回路、150 FIFOメモリー、151 RGBデータ、152 YUV422データ、160 FIFOメモリー、170 タイミング生成回路、180 YUVフォーマット変換回路、181a Vデータ、181b Yデータ、181c Uデータ、182 Y0選択タイミング生成回路、183 Y0選択信号、184a〜184c 選択回路、185a Vデータ、185b Yデータ、185c Uデータ、186a〜186c ビット拡張回路、190 選択回路、191a RVデータ、191b GYデータ、191c BUデータ、200 汎用バス、201a アドレスデータ、201b アドレスデータ、202a ライトデータ、202b ライトデータ、203a セレクト信号、203b セレクト信号、204a ライト信号、204b ライト信号、205a レディー入力信号、205b レディー入力信号、206a レディー出力信号、206b レディー出力信号、207a リードデータ、210 CPU、220 DMAコントローラー、230 メモリー、300 ビデオバス、301 垂直同期信号、302 水平同期信号、303 データイネーブル信号、304 YUVデータ、305 ビジー信号、310 画像処理回路、400 プロジェクター、500 画像処理装置、510 データ処理回路、512 ビデオバス、520 画像処理回路、522 ビデオバス、530 液晶パネル駆動回路、540 CPU、550 ROM、560 RAM、570 USBコントローラー、580 DMAコントローラー、590 汎用バス、610 照明光学系、620 液晶パネル、630 投写光学系、700 スクリーン

【特許請求の範囲】
【請求項1】
第1のプロトコルに従う第1のバスを介して伝送される第1の画素データ信号を受け取り、第2のプロトコルに従う第2のバスを介して伝送される第2の画素データ信号に変換するデータ処理回路であって、
レジスター部と、
第1のフォーマット変換部と、
色変換部と、を含み、
前記第1の画素データ信号は、
所与の第1の色空間で定義される色情報を特定するための複数の第1の画素要素データを有し、
前記第2の画素データ信号は、
所与の第2の色空間で定義される色情報を特定するための複数の第2の画素要素データを有し、
前記レジスター部は、
前記第1の画素データ信号における前記複数の第1の画素要素データの並び順を特定するための第1の設定情報を記憶し、
前記第1のフォーマット変換部は、
前記第1の設定情報に基づいて、前記第1の画素データ信号から所与の基準ビットを先頭として前記複数の第1の画素要素データを取り出し、当該複数の第1の画素要素データを含む第1の画素フォーマットの画素データ信号を生成し、
前記色変換部は、
前記第1の色空間から前記第2の色空間への所与の変換式に従い、前記第1のフォーマット変換部が生成した前記画素データ信号を前記複数の第2の画素要素データを含む画素データ信号に変換する、データ処理回路。
【請求項2】
請求項1において、
前記レジスター部は、
前記第1の画素データ信号の前記基準ビットを特定するための第2の設定情報を記憶し、
前記第1のフォーマット変換部は、
前記第1の設定情報及び前記第2の設定情報に基づいて、前記第1の画素データ信号から前記複数の第1の画素要素データを取り出す、データ処理回路。
【請求項3】
請求項2において、
前記レジスター部は、
前記第1の画素データ信号の前記基準ビットが前記第1の画素要素データの一部であるか否かを特定するための第3の設定情報を記憶し、
前記第1のフォーマット変換部は、
前記第3の設定情報に基づいて、前記第1の画素要素データの一部として前記基準ビットを取り出すか否かを決定する、データ処理回路。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記第1のフォーマット変換部は、
前記第1の画素データ信号から取り出した前記複数の第1の画素要素データの各々のビット数をmとした時、当該第1の画素要素データの各々について上位nビット(n≦m)を下位nビットに付加してm+nビットにビット拡張し、前記第1の画素フォーマットの画素データ信号を生成する、データ処理回路。
【請求項5】
請求項1乃至4のいずれかにおいて、
第2のフォーマット変換部と、
画素データ選択部と、をさらに含み、
第1の画素データ信号は、複数の種類の画素フォーマットのうちのいずれかの画素フォーマットを有し、
前記レジスター部は、
前記第1の画素データ信号の画素フォーマットを特定するための第4の設定情報と、所定の画素フォーマットの前記第1の画素データ信号における前記複数の第1の画素要素データの配置を特定するための第5の設定情報を記憶し、
前記第2のフォーマット変換部は、
前記第5の設定情報に基づいて、前記所定の画素フォーマットの前記第1の画素データ信号から前記複数の第1の画素要素データを取り出し、当該複数の第1の画素要素データを含む第2の画素フォーマットの画素データ信号を生成し、
前記画素データ選択部は、
前記第4の設定情報に基づいて、前記第1のフォーマット変換部が生成した前記画素データ信号又は前記第2のフォーマット変換部が生成した前記画素データ信号のいずれか一方を選択し、
前記色変換部は、
前記第1の色空間から前記第2の色空間への所与の変換式に従い、前記画素データ選択部により選択された、前記第1のフォーマット変換部が生成した前記画素データ信号又は前記第2のフォーマット変換部が生成した前記画素データ信号を、前記複数の第2の画素要素データを含む画素データ信号に変換する、データ処理回路。
【請求項6】
請求項5において、
前記第2のフォーマット変換部は、
前記第1の画素データ信号から取り出した前記複数の第1の画素要素データの各々のビット数をjとした時、当該第1の画素要素データの各々について上位kビット(k≦j)を下位kビットに付加してj+kビットにビット拡張し、前記第2の画素フォーマットの画素データ信号を生成する、データ処理回路。
【請求項7】
請求項1乃至6のいずれかに記載のデータ処理回路を含む、集積回路装置。
【請求項8】
請求項7に記載の集積回路装置を含む、電子機器。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2011−97279(P2011−97279A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−248023(P2009−248023)
【出願日】平成21年10月28日(2009.10.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】