説明

画像処理装置

【課題】低コストで処理性能を向上することができる画像処理装置を提供すること。
【解決手段】画像処理装置100は、ビデオ入力部140と描画部150とビデオ出力部160がアクセスするバンクを複数のフレームメモリ120,130に分けて割り当て、ビデオ入力部140と描画部150とビデオ出力部160といったマスタ部からのアクセス要求を調停し、それぞれのフレームメモリ120,130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御するメモリコントローラ部190を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ入力映像及びグラフィックを重畳して表示する画像処理装置に関する。
【背景技術】
【0002】
近年、ディスプレイに複数の画像を重畳して表示するシステムが増えている。特に、車載用のディスプレイの場合、エアコンの操作画面やカーナビゲーション画面、DVD(Digital Versatile Disk)やTVの映像等、様々な画像を重畳して表示することが求められている。
【0003】
従来、複数の画像を重畳して表示する方法として、複数のビデオ入力画像と描画それぞれに対応したフレームメモリを持つ方法が提案されている(例えば、特許文献1参照)。
【特許文献1】特開2004−252481号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このような従来の画像処理装置にあっては、以下のような問題点があった。
【0005】
(1)複数のビデオ入力画像とグラフィックそれぞれに対応したフレームメモリを持つため、コストが高くなる。
【0006】
(2)各メモリがダブルバッファリング領域を持ち、一般的なシングルポートメモリだと、メモリライト動作とメモリリード動作が競合して処理性能が低下する。
【0007】
本発明は、かかる点に鑑みてなされたものであり、低コストで処理性能を向上することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、複数のフレームメモリと、前記複数のフレームメモリに対してアクセスする複数のマスタ部と、前記複数のマスタ部からのアクセス要求を調停し、それぞれの前記フレームメモリに前記複数のマスタ部が並行にアクセスできるようにデータ転送を制御するメモリコントローラ部と、前記複数のフレームメモリに対して前記メモリコントローラ部を介して映像入力データを書き込むビデオ入力部と、前記複数のフレームメモリに格納されているデータを、前記メモリコントローラ部を介して読み出しディスプレイに表示するビデオ出力部とを備え、前記メモリコントローラ部は、前記ビデオ入力部と前記ビデオ出力部がアクセスする複数のバンクを前記複数のフレームメモリに分けて割り当て、前記ビデオ出力部は前記ビデオ入力部が書き込み完了した最後のバンクを読み出す構成を採る。
【発明の効果】
【0009】
本発明によれば、複数のマスタ部が並行にアクセスできるようにデータ転送を制御するメモリコントローラ部を有することにより、ビデオ入力映像や描画それぞれに対応したフレームメモリを持つ必要がなく、ビデオ入力や描画、表示のフレームメモリへのアクセスを並列で行うことができるため、低コストで処理性能を向上させることができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0011】
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。本実施の形態は、ビデオ入力映像やグラフィックを重畳して表示する画像処理装置に適用した例である。
【0012】
図1において、画像処理装置100は、システムメモリ110、フレームメモリ120、フレームメモリ130、ビデオ入力部140、描画部150、ビデオ出力部160、ディスプレイ170、制御部180、及びメモリコントローラ部190を備えて構成される。また、ビデオ入力部140には、カメラ210、DVD211及びTV212が、ビデオ選択部213を介して接続される。ビデオ選択部213は、カメラ210、DVD211、TV212から出力される映像信号を選択する。
【0013】
システムメモリ110は、ビデオ入出力の制御や描画制御といったアプリケーションプログラムや、描画で用いるテクスチャデータを格納する。システムメモリ110は、一般的にはROMやフラッシュメモリが用いられるが、SRAMやDRAM等のRAMを用いてもよい。
【0014】
フレームメモリ120,130は、ビデオ入力画像や描画データ、演算結果を格納する。フレームメモリ120,130は、一般的にはDRAMが用いられるが、SRAMやフラッシュメモリ、ハードディスクを用いてもよい。また、フレームメモリ120、フレームメモリ130のどちらもシステムLSIに内蔵してもよいし、どちらか一方あるいは両方とも外付けの構成にしてもよい。
【0015】
ビデオ入力部140は、フレームメモリ120,130に対してメモリコントローラ部190を介して映像入力データを書き込む。ビデオ入力部140には、ビデオ選択部213で選択した映像信号が入力され、ビデオ入力部140は、入力された映像の垂直同期信号と水平同期信号に基づき、メモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に映像データを書き込む。
【0016】
なお、カメラ210、DVD211、TV212は映像信号を出力するブロックの一例として挙げただけで、その他の映像信号を出力するものでも構わない。
【0017】
描画部150は、メモリコントローラ部190を介してシステムメモリ110に格納されているテクスチャデータを読み出し、制御部180からの指令に基づき、線や三角形、矩形の図形に対してテクスチャマッピングやアルファブレンド処理を行った描画データを、メモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に書き込む。描画部150の内部構成については、図2により後述する。
【0018】
なお、システムメモリ110とアクセスするためのデータバスと、フレームメモリ120あるいはフレームメモリ130とアクセスするためのデータバスは、独立していてもよいし、共有していてもよい。
【0019】
ビデオ出力部160は、フレームメモリ120,130に格納されているデータを、メモリコントローラ部190を介して読み出しディスプレイ170に表示する。ビデオ出力部160は、メモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に格納されている画像データを読み出し、レイヤ合成や画質調整処理を行った後、ディスプレイ170に表示する。
【0020】
上記ビデオ入力部140とビデオ出力部160は、アクセスする複数のバンクを複数のフレームメモリ120,130に分けて割り当て、上記ビデオ出力部160は、ビデオ入力部140が書き込み完了した最後のバンクを読み出す。
【0021】
制御部180は、システムメモリ110に格納されているアプリケーションプログラムに基づいて、ビデオ入力部140、描画部150、ビデオ出力部160、メモリコントローラ部190の制御を行う。また、制御部180はJPEGデコード等の演算結果を、メモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に書き込む。具体的には、制御部180は、ビデオ入力部140とビデオ出力部160のメモリアクセス開始・終了タイミングや、どのフレームメモリ120,130にアクセスしているかの情報から、無アクセス状態となっているフレームメモリ120,130に対して演算結果を書き込む。
【0022】
メモリコントローラ部190は、フレームメモリ120,130に対してアクセスするブロック(マスタ部)からのアクセス要求を調停し、それぞれのフレームメモリ120,130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御する。ここでは、メモリコントローラ部190は、ビデオ入力部140、描画部150、ビデオ出力部160、制御部180といったマスタ部からのメモリアクセス要求を調停し、システムメモリ110、フレームメモリ120、フレームメモリ130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御する。
【0023】
例えば、メモリコントローラ部190は、制御部180がシステムメモリ110に、ビデオ入力部140がフレームメモリ120に、描画部150がフレームメモリ130に、ビデオ出力部160がフレームメモリ130にアクセス要求した場合、制御部180とシステムメモリ110とのデータ転送と、ビデオ入力部140とフレームメモリ120とのデータ転送と、ビデオ出力部160とフレームメモリ130とのデータ転送が並行して実行されるように制御する。これにより、ビデオ出力部160のデータ転送が終了した後に描画部150のデータ転送が開始される。
【0024】
その上で、メモリコントローラ部190は、各マスタ部が次にどのバンクをアクセスするか決める時に、各フレームメモリ120,130に対する各マスタ部のアクセス状況から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する。
【0025】
メモリコントローラ部190は、描画部150とビデオ出力部160がアクセスする複数のバンクを複数のフレームメモリ120,130に分けて割り当て、描画部150が次にどのバンクをアクセスするか決める時に、ビデオ入力部140とビデオ出力部160がそれぞれどのフレームメモリ120,130にアクセス中か、あるいは、どのフレームメモリ120,130にもアクセスしていない状態で、次にどのフレームメモリ120,130をアクセスするかの情報と描画部150が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリ120,130に割り当てられているバンクを選択する。
【0026】
図2は、上記描画部150の内部構成を示す図である。
【0027】
図2において、描画部150は、複数のテクスチャメモリ151,152、テクスチャロード部153、及びピクセル生成部154を備えて構成される。
【0028】
テクスチャメモリ151,152は、テクスチャデータを格納するためのメモリである。
【0029】
テクスチャロード部153は、メモリコントローラ部190を介してシステムメモリ110に格納されているテクスチャデータを読み出し、一方のテクスチャメモリ151、あるいはテクスチャメモリ152にテクスチャデータを書き込む。
【0030】
ピクセル生成部154は、テクスチャメモリ151、あるいはテクスチャメモリ152に格納されているテクスチャデータを読み出し、線や三角形、矩形の図形に対してテクスチャマッピングやアルファブレンド処理を行って生成した描画データを、メモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に書き込む。
【0031】
上記、ピクセル生成部154が描画データをフレームメモリ120,130に書き込むのと並行に、テクスチャロード部153が次の図形のテクスチャデータをフレームメモリ120,130から読み出す。
【0032】
また、本実施の形態では、テクスチャデータをシステムメモリ110からフレームメモリ120,130に転送した後、描画部150がフレームメモリ120,130からテクスチャデータを読み出す。
【0033】
また、ビデオ入力部140がフレームメモリ120,130に書き込んだ映像データをテクスチャデータとして、描画部150が読み出す。
【0034】
なお、テクスチャロード部153とピクセル生成部154は、それぞれメモリコントローラ部190に対して並列にデータ転送を行う。このため、テクスチャロード部153とピクセル生成部154がそれぞれメモリコントローラ部190にアクセスするデータバスは独立している必要がある。
【0035】
また、テクスチャロード部153とピクセル生成部154は、それぞれ異なるテクスチャメモリをアクセスする。
【0036】
以下、上述のように構成された画像処理装置100の動作について説明する。
【0037】
[ビデオ入力部140]
図3は、ビデオ入力部140のビデオ入力の有効データ領域、及びブランキング領域を示す図である。
【0038】
水平同期信号VIHSYNCは、期間VIHCの周期でビデオ入力部140に入力される。
【0039】
垂直同期信号VIVSYNCは、期間VIVCの周期でビデオ入力部140に入力される。
【0040】
VIHSYNCの立下りを基準として、図示しないビデオ入力クロックVICLKでのサイクル数VIHDSからVIHDEまでの期間が水平方向の有効データ領域であり、VIVSYNCの立下りを基準として、水平ライン数VIVDSからVIVDEまでの期間が垂直方向の有効データ領域である。
【0041】
なお、VICLKはWVGA(横800画素×縦480画素)の場合、33MHzの周波数が用いられる。また、VICLKは総画素数によって周波数が異なる。
【0042】
図4は、ビデオ入力部140の処理タイミングを示すタイミングチャートである。
【0043】
図4中、VIVDSからVIVDEまでの期間が垂直処理期間、VIHDSからVIHDEまでの期間が水平処理期間である。ビデオ入力部140は、水平処理期間でメモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130に映像データを書き込む。また、ビデオ入力部140は、VIVDS、VIVDE、VIHDS、VIHDEそれぞれのタイミングで制御部180にフラグを出力する。
【0044】
[ビデオ出力部160]
図5は、ビデオ出力部160のビデオ出力の有効表示領域、及びブランキング領域を示す図である。
【0045】
水平同期信号VOHSYNCは、期間VOHCの周期でビデオ出力部160から出力され、ディスプレイ170に入力される。
【0046】
垂直同期信号VOVSYNCは、期間VOVCの周期でビデオ出力部160から出力され、ディスプレイ170に入力される。
【0047】
VOHSYNCの立下りを基準として、図示しないビデオ出力クロックVOCLKでのサイクル数VOHDSからVOHDEまでの期間が水平方向の有効表示領域であり、VOVSYNCの立下りを基準として、水平ライン数VOVDSからVOVDEまでの期間が垂直方向の有効表示領域である。
【0048】
なお、VOCLKはWVGA(横800画素×縦480画素)の場合、33MHzの周波数が用いられる。また、VOCLKは総画素数によって周波数が異なる。
【0049】
図6は、ビデオ出力部160の処理タイミングを示すタイミングチャートである。
【0050】
図6中、VOVDSからVOVDEまでの期間が垂直処理期間で、VOHDSからVOHDEまでの期間が水平処理期間である。ビデオ出力部160は、水平処理期間でメモリコントローラ部190を介してフレームメモリ120あるいはフレームメモリ130から画像データを読み出して、ディスプレイ170に出力する。また、ビデオ出力部160は、VOVDS、VOVDE、VOHDS、VOHDEそれぞれのタイミングで制御部180にフラグを出力する。
【0051】
[フレームメモリ120,130にバンクを3つ(バンク0〜2)割り当てた場合]
図7は、フレームメモリ120とフレームメモリ130に、ビデオ入力部140とビデオ出力部160がアクセスするバンクを3つ(バンク0〜2)割り当てた場合のメモリ内容を示す図である。
【0052】
制御部180が、ビデオ入力部140とビデオ出力部160に対して、フレームメモリ120とフレームメモリ130に割り当てるバンクの画像サイズとベースアドレスを設定する。図7の例では、偶数バンクであるバンク0とバンク2がフレームメモリ120に、奇数バンクであるバンク1がフレームメモリ130に割り当てられている。
【0053】
まず、VIVSYNCとVOVSYNCの周期が同じ場合について説明する。
【0054】
図8は、VIVSYNCとVOVSYNCの周期が同じ場合に、ビデオ入力部140とビデオ出力部160が、フレームメモリ120とフレームメモリ130に割り当てられているバンクをアクセスするタイミングを示すタイミングチャートである。
【0055】
ビデオ入力部140が、各バンクにデータを書き込む期間は、図4の垂直処理期間と同じである。また、ビデオ出力部160が、各バンクからデータを読み出す期間は、図6の垂直処理期間と同じである。
【0056】
期間1−Aでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込む。
【0057】
制御部180は、ビデオ入力部140から出力されるVIVDSフラグによって、ビデオ入力部140がどのバンクにデータ書込みを開始したか認識し、VIVDEフラグによって、ビデオ入力部140がデータ書込みを終了したことを認識する。
【0058】
期間1−Bでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0059】
ビデオ出力部160は、ビデオ入力部140がデータを書き込み完了した最後のバンクを読み出すように制御部180によって制御される。なお、ビデオ入力部140から出力されるVIVDEフラグをビデオ出力部160が受け取り、制御部180を介さずに、ビデオ入力部140がデータを書き込み完了した最後のバンクをビデオ出力部160が認識するようにしてもよい。
【0060】
期間1−Cでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク2にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ130に割り当てられているバンク1のデータを読み出す。
【0061】
期間1−Dでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込み、ビデオ出力部160がフレームメモリ120に割り当てられているバンク2のデータを読み出す。この期間では、ビデオ入力部140とビデオ出力部160が同じフレームメモリ120をアクセスするため、同時にメモリアクセスできず、処理が待たされる時が発生する。
【0062】
期間1−Bや期間1−Cでは、ビデオ入力部140のメモリ書込みとビデオ出力部160のメモリ読み出しが同時に実行できるため、高速に処理できる。
【0063】
また、制御部180は、ビデオ入力部140とビデオ出力部160のメモリアクセス開始・終了タイミングや、どのフレームメモリにアクセスしているか把握できるため、期間1−Aと期間1−Dでフレームメモリ130のみが無アクセス状態、期間1−A〜1−Dを除く期間でフレームメモリ120とフレームメモリ130の両方が無アクセス状態となっていることが分かる。
【0064】
よって、制御部180は、無アクセス状態となっているフレームメモリに対して、演算等の処理を行うことができ、システム全体の性能を向上することができる。
【0065】
また、フレームメモリ120にバンク0とバンク2、フレームメモリ130にバンク1とバンク3というように、合計4つのバンクにすることで、期間1−Dのように、ビデオ入力部140とビデオ出力部160が同じフレームメモリをアクセスすることを解消できる。
【0066】
次に、VIVSYNCの周期がVOVSYNCの周期より短い場合について説明する。
【0067】
図9は、VIVSYNCの周期がVOVSYNCの周期より短い場合に、ビデオ入力部140とビデオ出力部160が、フレームメモリ120とフレームメモリ130に割り当てられているバンクをアクセスするタイミングを示すタイミングチャートである。
【0068】
期間2−Aでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込む。
【0069】
期間2−Bでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込む。
【0070】
期間2−Cでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0071】
期間2−Dでは、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0072】
期間2−Eでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク2にデータを書き込む。
【0073】
期間2−Fでは、ビデオ出力部160がフレームメモリ120に割り当てられているバンク2のデータを読み出す。バンク1でなくバンク2のデータをビデオ出力部160が読み出すのは、バンク2がビデオ入力部140によってデータを書き込み完了した最後のバンクになっているためである。よって、バンク1の表示がスキップされる。
【0074】
期間2−Gでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込み、ビデオ出力部160がフレームメモリ120に割り当てられているバンク2のデータを読み出す。この期間では、ビデオ入力部140とビデオ出力部160が同じフレームメモリ120をアクセスするため、同時にメモリアクセスできず、処理が待たされる時が発生する。
【0075】
期間2−Hでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込む。
【0076】
期間2−Iでは、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0077】
期間2−Jでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0078】
期間2−Cと期間2−Jでは、ビデオ入力部140のメモリ書込みとビデオ出力部160のメモリ読み出しが同時に実行できるため、高速に処理できる。
【0079】
また、制御部180は、期間2−Bでフレームメモリ120のみが無アクセス状態、期間2−Aと期間2−D〜2−Iでフレームメモリ130のみが無アクセス状態、期間2−A〜2−Jを除く期間でフレームメモリ120とフレームメモリ130の両方が無アクセス状態となっていることが分かり、無アクセス状態となっているフレームメモリに対して、演算等の処理を行うことができ、システム全体の性能を向上することができる。
【0080】
次に、VIVSYNCの周期がVOVSYNCの周期より長い場合について説明する。
【0081】
図10は、VIVSYNCの周期がVOVSYNCの周期より長い場合に、ビデオ入力部140とビデオ出力部160が、フレームメモリ120とフレームメモリ130に割り当てられているバンクをアクセスするタイミングを示すタイミングチャートである。
【0082】
期間3−Aでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込む。
【0083】
期間3−Bでは、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0084】
期間3−Cでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ120に割り当てられているバンク0のデータを読み出す。
【0085】
期間3−Dでは、ビデオ入力部140がフレームメモリ130に割り当てられているバンク1にデータを書き込む。
【0086】
期間3−Eでは、ビデオ出力部160がフレームメモリ130に割り当てられているバンク1のデータを読み出す。
【0087】
期間3−Fでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク2にデータを書き込む。
【0088】
期間3−Gでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク2にデータを書き込むのと並行して、ビデオ出力部160がフレームメモリ130に割り当てられているバンク1のデータを読み出す。期間3−Eに引き続き、期間3−Gでもバンク1のデータを読み出すのは、ビデオ入力部140がバンク2へのデータ書込みを完了しておらず、バンク1がデータを書き込み完了した最後のバンクになっているためである。
【0089】
期間3−Hでは、ビデオ出力部160がフレームメモリ130に割り当てられているバンク1のデータを読み出す。
【0090】
期間3−Iでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込む。
【0091】
期間3−Jでは、ビデオ入力部140がフレームメモリ120に割り当てられているバンク0にデータを書き込み、ビデオ出力部160がフレームメモリ120に割り当てられているバンク2のデータを読み出す。この期間では、ビデオ入力部140とビデオ出力部160が同じフレームメモリ120をアクセスするため、同時にメモリアクセスできず、処理が待たされる時が発生する。
【0092】
期間3−Cと期間3−Gでは、ビデオ入力部140のメモリ書込みとビデオ出力部160のメモリ読み出しが同時に実行できるため、高速に処理できる。
【0093】
また、制御部180は、期間3−D〜3−Eと期間3−Hでフレームメモリ120のみが無アクセス状態、期間3−A〜3−Bと期間3−F、期間3−I〜3−Jでフレームメモリ130のみが無アクセス状態、期間3−A〜3−Jを除く期間でフレームメモリ120とフレームメモリ130の両方が無アクセス状態となっていることが分かり、無アクセス状態となっているフレームメモリに対して、演算等の処理を行うことができ、システム全体の性能を向上することができる。
【0094】
[フレームメモリ120,130にバンクを3つ(バンク0〜2)割り当て、さらに、描画部150とビデオ出力部160がアクセスするバンクを4つ(バンクRA0、RA1、RB0、RB1)割り当てた場合]
図11は、フレームメモリ120とフレームメモリ130に、ビデオ入力部140とビデオ出力部160がアクセスするバンクを3つ(バンク0〜2)割り当て、さらに、描画部150とビデオ出力部160がアクセスするバンクを4つ(バンクRA0、RA1、RB0、RB1)割り当てた場合のメモリ内容を示す図である。
【0095】
制御部180が、描画部150とビデオ出力部160に対して、フレームメモリ120とフレームメモリ130に割り当てるバンクの画像サイズとベースアドレスを設定する。
【0096】
一般的には、描画している途中の画像が表示されないように、2つのバンクに対して描画するバンクと表示するバンクを切り替えるダブルバッファ構成を持つ。本実施の形態では、図11に示すように、フレームメモリ120とフレームメモリ130にそれぞれバンクを2つ設け、ビデオ入力部140と描画部150とビデオ出力部160が効率的に並列処理できるようにした。
【0097】
図12は、ビデオ入力部140とビデオ出力部160のアクセス状況によって、制御部180が描画部150に対して、次にどのバンクをアクセスするように指令するかを示す図である。
【0098】
図12中、ビデオ入力部140とビデオ出力部160のアクセス状況欄に、フレームメモリ120あるいはフレームメモリ130と記載されているのは、制御部180が描画部150に対して、次にどのバンクをアクセスさせるか判断する時点で、ビデオ入力部140とビデオ出力部160がそれぞれどのフレームメモリにアクセス中か、あるいは、どのフレームメモリにもアクセスしていない状態で、次にどのフレームメモリをアクセスするかを意味する。描画部150が前回アクセス完了したバンクは、ビデオ出力部160が表示のためにデータを読み出すためにアクセスされる。
【0099】
描画部150が次にアクセスするバンクを決定する基準としては、ビデオ入力部140のアクセス状況、ビデオ出力部160のアクセス状況、描画部150が前回アクセス完了したバンクから、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する。
【0100】
これにより、ビデオ入力部140、描画部150、ビデオ出力部160がフレームメモリ120とフレームメモリ130に対して、並列にアクセスできる頻度が高まり、性能を向上させることができる。
【0101】
また、描画部150とビデオ出力部160がアクセスするバンクを、フレームメモリ120に1つとフレームメモリ130に1つの合計2つ割り当てる場合についても、ビデオ入力部140のアクセス状況、ビデオ出力部160のアクセス状況、描画部150が前回アクセス完了したバンクから、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを描画部150が次にアクセスするバンクに指定することで、性能を向上させることができる。
【0102】
なお、描画部150の場合と同様に、ビデオ入力部140についても、描画部150のアクセス状況、ビデオ出力部160のアクセス状況、ビデオ入力部140が前回アクセス完了したバンクから、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを、次にアクセスするバンクに選択するようにしてもよい。
【0103】
次に、描画部150の動作について説明する。
【0104】
図13は、テクスチャロード部153とピクセル生成部154が、テクスチャメモリ151,152とメモリコントローラ部190にアクセスするタイミングを示すタイミングチャートである。
【0105】
期間4−Aでは、テクスチャロード部153がシステムメモリ110に格納されている図形(1)のテクスチャデータを読み出し、テクスチャメモリ151に書き込む。
【0106】
期間4−Bでは、テクスチャロード部153がシステムメモリ110に格納されている図形(2)のテクスチャデータを読み出し、テクスチャメモリ152に書き込むのと並行して、ピクセル生成部154がテクスチャメモリ151に格納されている図形(1)のテクスチャデータを読み出して図形(1)の描画データを生成し、フレームメモリ120あるいはフレームメモリ130に書き込む。
【0107】
期間4−Cでは、テクスチャロード部153がシステムメモリ110に格納されている図形(3)のテクスチャデータを読み出し、テクスチャメモリ151に書き込むのと並行して、ピクセル生成部154がテクスチャメモリ152に格納されている図形(2)のテクスチャデータを読み出して図形(2)の描画データを生成し、フレームメモリ120あるいはフレームメモリ130に書き込む。
【0108】
期間4−Dでは、ピクセル生成部154がテクスチャメモリ151に格納されている図形(3)のテクスチャデータを読み出して図形(3)の描画データを生成し、フレームメモリ120あるいはフレームメモリ130に書き込む。
【0109】
期間4−Bと期間4−Cでは、テクスチャロード部153とピクセル生成部154の処理が同時に実行できるため、高速に処理できる。
【0110】
なお、例えばシステムメモリ110がフラッシュメモリのような低速のメモリで、フレームメモリ120やフレームメモリ130がSDRAMのような高速のメモリの場合、テクスチャデータをシステムメモリ110からフレームメモリ120あるいはフレームメモリ130に転送しておいた後、テクスチャロード部153がフレームメモリ120あるいはフレームメモリ130からテクスチャデータを読み出すようにしてもよい。
【0111】
また、ビデオ入力部140がフレームメモリ120あるいはフレームメモリ130に書き込んだ映像データをテクスチャデータとして、テクスチャロード部153が読み出してもよい。
【0112】
以上のように、本実施の形態によると、ビデオ入力部140や描画部150がそれぞれ専用のフレームメモリを持つことがなく、ビデオ入力部140、描画部150、ビデオ出力部160が2つのフレームメモリに対して並列に処理することができ、さらに描画部150は2つの図形に対して並列に処理することができるため、低コストで処理性能を向上することができる。
【0113】
以上詳細に説明したように、本実施の形態によれば、画像処理装置100は、ビデオ入力部140と描画部150とビデオ出力部160がアクセスするバンクを複数のフレームメモリ120,130に分けて割り当て、ビデオ入力部140と描画部150とビデオ出力部160といったマスタ部からのアクセス要求を調停し、それぞれのフレームメモリ120,130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御するメモリコントローラ部190を備え、メモリコントローラ部190は、各マスタ部が次にどのバンクをアクセスするか決める時に、各フレームメモリ120,130に対する各マスタ部のアクセス状況から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する。
【0114】
例えば、メモリコントローラ部190は、描画部150とビデオ出力部160がアクセスする複数のバンクを複数のフレームメモリ120,130に分けて割り当て、描画部150が次にどのバンクをアクセスするか決める時に、ビデオ入力部140とビデオ出力部160がそれぞれどのフレームメモリ120,130にアクセス中か、あるいは、どのフレームメモリ120,130にもアクセスしていない状態で、次にどのフレームメモリ120,130をアクセスするかの情報と描画部150が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリ120,130に割り当てられているバンクを選択する。
【0115】
また、メモリコントローラ部190は、ビデオ入力部140が次にどのバンクをアクセスするか決める時に、描画部150とビデオ出力部160がそれぞれどのフレームメモリ120,130にアクセス中か、あるいは、どのフレームメモリ120,130にもアクセスしていない状態で、次にどのフレームメモリ120,130をアクセスするかの情報とビデオ入力部140が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリ120,130に割り当てられているバンクを選択する。
【0116】
従来例では、複数のビデオ入力画像とグラフィックそれぞれに対応する、ダブルバッファリング領域を持つフレームメモリを用いた。これに対して、本実施の形態では、かかる機能を、メモリコントローラ部190が、各マスタ部のアクセス状況から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択することで実現する。これにより、ビデオ入力映像や描画それぞれに対応したフレームメモリを持つ必要がなく、ビデオ入力や描画、表示のフレームメモリへのアクセスを並列で行うことができえるため、低コストで処理性能を向上させることができる。
【0117】
(実施の形態2)
図14は、本発明の実施の形態2に係る画像処理装置の構成を示すブロック図である。図1と同一構成部分には同一番号を付して重複箇所の説明を省略する。
【0118】
図14において、画像処理装置300は、システムメモリ110、フレームメモリ120、フレームメモリ130、ビデオ入力部311,312,313、描画部150、ビデオ出力部160、ディスプレイ170、制御部180、及びメモリコントローラ部310を備えて構成される。また、カメラ210、DVD211及びTV212は、ビデオ入力部311,312,313介してメモリコントローラ部310に接続される。
【0119】
ビデオ入力部311は、カメラ210から出力される映像の垂直同期信号と水平同期信号に基づき、メモリコントローラ部310を介してフレームメモリ120あるいはフレームメモリ130に映像データを書き込む。
【0120】
ビデオ入力部312は、DVD211から出力される映像の垂直同期信号と水平同期信号に基づき、メモリコントローラ部310を介してフレームメモリ120あるいはフレームメモリ130に映像データを書き込む。
【0121】
ビデオ入力部313は、TV212から出力される映像の垂直同期信号と水平同期信号に基づき、メモリコントローラ部310を介してフレームメモリ120あるいはフレームメモリ130に映像データを書き込む。
【0122】
メモリコントローラ部310は、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313、描画部150、ビデオ出力部160、制御部180といったマスタ部からのメモリアクセス要求を調停し、システムメモリ110、フレームメモリ120、フレームメモリ130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御する。
【0123】
図15は、フレームメモリ120とフレームメモリ130に、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313とビデオ出力部160がアクセスするバンクをそれぞれ3つ、合計9個(バンクA0〜2、バンクB0〜2、バンクC0〜2)割り当て、さらに、描画部150とビデオ出力部160がアクセスするバンクを4つ(バンクRA0、RA1、RB0、RB1)割り当てた場合のメモリ内容を示す図である。
【0124】
このように、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313と描画部150用のバンクが、フレームメモリ120とフレームメモリ130に分けて割り当てるようにすることと、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313のアクセス状況、ビデオ出力部160のアクセス状況、描画部150が前回アクセス完了したバンクから、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを描画部150が次にアクセスするバンクに指定することで、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313、描画部150、ビデオ出力部160がフレームメモリ120とフレームメモリ130に対して、並列にアクセスできる頻度が高まり、性能を向上させることができる。
【0125】
なお、描画部150の場合と同様に、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313のそれぞれについても、他のビデオ入力部のアクセス状況、描画部150のアクセス状況、ビデオ出力部160のアクセス状況、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313のそれぞれが前回アクセス完了したバンクから、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを、次にアクセスするバンクに選択するようにしてもよい。
【0126】
以上のように、本実施の形態によれば、メモリコントローラ部310は、ビデオ入力部311、ビデオ入力部312、ビデオ入力部313、描画部150、ビデオ出力部160、制御部180といったマスタ部からのメモリアクセス要求を調停し、システムメモリ110、フレームメモリ120、フレームメモリ130に複数のマスタ部が並行にアクセスできるようにデータ転送を制御するので、複数のビデオ入力部を持つ構成でも、描画部150やビデオ出力部160との並列処理を行うことができ、処理性能を向上させることができる。
【0127】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。例えば、上記各実施の形態は、各種の電子機器に適用した例であるが、入力対象を空間に表示するものであればどのような機器にも同様に適用できる。
【0128】
また、上記各実施の形態では画像処理装置という名称を用いたが、これは説明の便宜上であり、画像処理システム、画像出力装置等であってもよいことは勿論である。
【0129】
さらに、上記画像処理装置を構成する各装置、例えばメモリ等の種類、数及び接続方法などは前述した実施の形態に限られない。
【産業上の利用可能性】
【0130】
本発明では、ビデオ入力や描画、表示を高速に処理できるので、例えば、車載用のディスプレイにおいて、エアコンの操作画面やカーナビゲーション画面、DVDやTVの映像等、様々な画像を素早く重畳して表示することができる。また、車載用のディスプレイ以外の各電子機器における画像処理システムにも広く適用され得るものである。
【図面の簡単な説明】
【0131】
【図1】本発明の実施の形態1に係る画像処理装置の構成を示すブロック図
【図2】上記実施の形態1に係る画像処理装置の描画部の内部構成を示す図
【図3】上記実施の形態1に係る画像処理装置のビデオ入力部のビデオ入力の有効データ領域、及びブランキング領域を示す図
【図4】上記実施の形態1に係る画像処理装置のビデオ入力部の処理タイミングを示すタイミング図
【図5】上記実施の形態1に係る画像処理装置のビデオ出力部のビデオ出力の有効表示領域、及びブランキング領域を示す図
【図6】上記実施の形態1に係る画像処理装置のビデオ出力部の処理タイミングを示すタイミング図
【図7】上記実施の形態1に係る画像処理装置のビデオ入力部とビデオ出力部がアクセスするバンクを3つ割り当てた場合のメモリ内容を示す図
【図8】上記実施の形態1に係る画像処理装置のVIVSYNCとVOVSYNCの周期が同じ場合に、ビデオ入力部とビデオ出力部が、フレームメモリとフレームメモリに割り当てられているバンクをアクセスするタイミングを示すタイミング図
【図9】上記実施の形態1に係る画像処理装置のVIVSYNCの周期がVOVSYNCの周期より短い場合に、ビデオ入力部とビデオ出力部が、フレームメモリとフレームメモリに割り当てられているバンクをアクセスするタイミングを示すタイミング図
【図10】上記実施の形態1に係る画像処理装置のVIVSYNCの周期がVOVSYNCの周期より長い場合に、ビデオ入力部とビデオ出力部が、フレームメモリとフレームメモリに割り当てられているバンクをアクセスするタイミングを示すタイミング図
【図11】上記実施の形態1に係る画像処理装置のフレームメモリとフレームメモリに、ビデオ入力部とビデオ出力部がアクセスするバンクを3つ割り当て、さらに、描画部とビデオ出力部がアクセスするバンクを4つ割り当てた場合のメモリ内容を示す図
【図12】上記実施の形態1に係る画像処理装置のビデオ入力部とビデオ出力部のアクセス状況によって、制御部が描画部に対して、次にどのバンクをアクセスするように指令するかを示す図
【図13】上記実施の形態1に係る画像処理装置のテクスチャロード部とピクセル生成部が、テクスチャメモリとメモリコントローラ部にアクセスするタイミングを示すタイミング図
【図14】本発明の実施の形態2に係る画像処理装置の構成を示すブロック図
【図15】上記実施の形態2に係る画像処理装置のフレームメモリとフレームメモリに、各ビデオ入力部とビデオ出力部がアクセスするバンクをそれぞれ3つ、合計9個割り当て、さらに、描画部とビデオ出力部がアクセスするバンクを4つ割り当てた場合のメモリ内容を示す図
【符号の説明】
【0132】
100,300 画像処理装置
110 システムメモリ
120,130 フレームメモリ
140,311,312,313 ビデオ入力部
150 描画部
151,152 テクスチャメモリ
153 テクスチャロード部
154 ピクセル生成部
160 ビデオ出力部
170 ディスプレイ
180 制御部
190,310 メモリコントローラ部
210 カメラ
211 DVD
212 TV
213 ビデオ選択部


【特許請求の範囲】
【請求項1】
複数のフレームメモリと、
前記複数のフレームメモリに対してアクセスする複数のマスタ部と、
前記複数のマスタ部からのアクセス要求を調停し、それぞれの前記フレームメモリに前記複数のマスタ部が並行にアクセスできるようにデータ転送を制御するメモリコントローラ部と、
前記複数のフレームメモリに対して前記メモリコントローラ部を介して映像入力データを書き込むビデオ入力部と、
前記複数のフレームメモリに格納されているデータを、前記メモリコントローラ部を介して読み出しディスプレイに表示するビデオ出力部とを備え、
前記メモリコントローラ部は、前記ビデオ入力部と前記ビデオ出力部がアクセスする複数のバンクを前記複数のフレームメモリに分けて割り当て、前記ビデオ出力部は前記ビデオ入力部が書き込み完了した最後のバンクを読み出す画像処理装置。
【請求項2】
システムメモリと、
前記システムメモリ及び前記複数のフレームメモリに前記複数のマスタ部が並行にアクセスできるようにデータ転送を制御する前記メモリコントローラ部と、
前記システムメモリに格納されているアプリケーションプログラムに基づいて、前記ビデオ入力部、前記ビデオ出力部、前記メモリコントローラ部のタイミング制御を行い、また演算結果を、前記メモリコントローラ部を介して前記フレームメモリに書き込む制御部とを備える請求項1記載の画像処理装置。
【請求項3】
前記制御部は、前記ビデオ入力部と前記ビデオ出力部のメモリアクセス開始・終了タイミング及び、前記複数のフレームメモリにアクセスする情報に基づいて、無アクセス状態となっているフレームメモリに対して演算結果を書き込む請求項2記載の画像処理装置。
【請求項4】
前記システムメモリに格納されているテクスチャデータを、前記メモリコントローラ部を介して読み出し、前記制御部からの指令に基づき、線、三角形又は矩形の図形に対してテクスチャマッピング及びアルファブレンド処理を行った描画データを、前記メモリコントローラ部を介して前記フレームメモリに書き込む描画部を備える請求項2記載の画像処理装置。
【請求項5】
前記メモリコントローラ部は、前記描画部と前記ビデオ出力部がアクセスする複数のバンクを前記複数のフレームメモリに分けて割り当て、前記描画部が次に前記バンクをアクセスするか決める時に、前記ビデオ入力部と前記ビデオ出力部がそれぞれ前記フレームメモリにアクセス中か、あるいは、前記フレームメモリにもアクセスしていない状態で、次に前記フレームメモリをアクセスするかの情報と前記描画部が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する請求項4記載の画像処理装置。
【請求項6】
前記メモリコントローラ部は、前記ビデオ入力部が次に前記バンクをアクセスするか決める時に、前記描画部と前記ビデオ出力部がそれぞれ該当フレームメモリにアクセス中か、あるいは、前記フレームメモリにもアクセスしていない状態で、次に前記フレームメモリをアクセスするかの情報と前記ビデオ入力部が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する請求項5記載の画像処理装置。
【請求項7】
前記描画部は、2つのテクスチャメモリと、
前記システムメモリに格納されているテクスチャデータを、前記メモリコントローラ部を介して読み出し、一方のテクスチャメモリにテクスチャデータを書き込むテクスチャロード部と、
他方のテクスチャメモリに格納されているテクスチャデータを読み出し、線、三角形又は矩形の図形に対してテクスチャマッピングやアルファブレンド処理を行って生成した描画データを、前記メモリコントローラ部を介して前記フレームメモリに書き込むピクセル生成部を備え、
前記ピクセル生成部が前記描画データを前記フレームメモリに書き込むのと並行に、テクスチャロード部が次の図形のテクスチャデータを前記フレームメモリから読み出す請求項4又は請求項5に記載の画像処理装置。
【請求項8】
前記テクスチャデータを前記システムメモリから前記フレームメモリに転送した後、前記描画部が前記フレームメモリから前記テクスチャデータを読み出す請求項4乃至請求項7のいずれかに記載の画像処理装置。
【請求項9】
前記ビデオ入力部が前記フレームメモリに書き込んだ映像データをテクスチャデータとして、前記描画部が読み出す請求項4乃至請求項7のいずれかに記載の画像処理装置。
【請求項10】
前記ビデオ入力部に入力される映像信号は、複数の映像信号から一つ選択された映像信号である請求項4乃至請求項9のいずれかに記載の画像処理装置。
【請求項11】
前記ビデオ入力部を複数備え、前記描画部と前記複数のビデオ入力部がアクセスする複数のバンクを前記複数のフレームメモリに分けて割り当て、前記描画部が次に前記バンクをアクセスするか決める時に、前記複数のビデオ入力部と前記ビデオ出力部がそれぞれ前記フレームメモリにアクセス中か、あるいは、前記フレームメモリにもアクセスしていない状態で、次に前記フレームメモリをアクセスするかの情報と前記描画部が前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する請求項4乃至請求項9のいずれかに記載の画像処理装置。
【請求項12】
前記ビデオ入力部を複数備え、前記描画部と前記複数のビデオ入力部がアクセスする複数のバンクを前記複数のフレームメモリに分けて割り当て、前記複数のビデオ入力部の1つが次に前記バンクをアクセスするか決める時に、他のビデオ入力部と前記描画部と前記ビデオ出力部がそれぞれ前記フレームメモリにアクセス中か、あるいは、前記フレームメモリにもアクセスしていない状態で、次に前記フレームメモリをアクセスするかの情報と前記複数のビデオ入力部の1つが前回アクセス完了したバンク情報から、最もアクセスされる要因の小さいフレームメモリに割り当てられているバンクを選択する請求項4乃至請求項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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−44286(P2010−44286A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−209271(P2008−209271)
【出願日】平成20年8月15日(2008.8.15)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】