(57)【特許請求の範囲】
【請求項１】
メモリから矩形データを読み出すメモリデータ処理装置であって、
前記メモリとの間のデータ転送を直接に行うデータ転送制御装置と、
前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出すデータ／アドレス制御モジュールと、を備え、
前記データ／アドレス制御モジュールは、
前記データ転送制御装置を介して前記メモリから前記トリミング領域のデータを読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、
前記矩形データを複数の領域に等分割した１つの領域であって、前記矩形データの水平方向の１行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出すことを特徴とする、メモリデータ処理装置。
【請求項２】
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合に、前記トリミング領域内に収まるようにバンク領域を変更する、請求項１記載のメモリデータ処理装置。
【請求項３】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合、前記開始アドレスおよび前記終了アドレスのうち、前記マスク領域にある方のアドレスを、前記トリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項２記載のメモリデータ処理装置。
【請求項４】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスを、それぞれ、前記トリミング領域の前記走査ライン上の一方の端部のアドレスおよび他方の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項
２記載のメモリデータ処理装置。
【請求項５】
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、
それぞれの前記トリミング領域内に収まるようにバンク領域を変更する、請求項１記載のメモリデータ処理装置。
【請求項６】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスのうち、１つのトリミング領域側の前記マスク領域にある方のアドレスを前記１つのトリミング領域の前記走査ライン上の一方の端部のアドレスに置き換え、他のトリミング領域側の前記マスク領域にある方のアドレスを前記１つのトリミング領域の前記走査ライン上の他方の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項５記載のメモリデータ処理装置。
【請求項７】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ／アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンク領域が複数の前記トリミング領域間に渡る場合、前記開始アドレスおよび前記終了アドレスのうち、１つの領域にある方のアドレスを他のトリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項５記載のメモリデータ処理装置。
【請求項８】
前記矩形データは、第１の矩形データと第２の矩形データとを含み、
前記メモリデータ処理装置は、
前記メモリから読み出した前記第１の矩形データおよび前記第２の矩形データを１つの矩形データに合成する合成モジュールをさらに備え、
前記データ／アドレス制御モジュールは、
前記合成モジュールと前記データ転送制御装置との間に接続され、前記トリミング領域のデータおよび前記ダミーデータを前記合成モジュールに与え、
前記データ／アドレス制御モジュールは、
前記第２の矩形データのうち有意な情報が存在する領域として前記トリミング領域を定義し、有意な情報が存在しない領域を前記マスク領域として定義する、請求項１記載のメモリデータ処理装置。
【請求項９】
メモリから矩形データを読み出して転送するメモリデータ転送方法であって、
前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出し、
前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した１つの領域であって、前記矩形データの水平方向の１行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出すことを特徴とする、メモリデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリデータ処理装置に関し、特に、複数の矩形データを合成して１つの矩形データに合成する際のメモリデータの転送技術に関する。
【背景技術】
【０００２】
昨今では、メモリからのデータ転送をＣＰＵ（Central Processing Unit）を介さずに直接に行うことで、ＣＰＵの負担を軽減するＤＭＡ（direct memory access）転送という技術が使用されている。
【０００３】
ＤＭＡ転送では、メモリに格納され、展開することで矩形状をなす矩形データから、所定の矩形領域のデータを走査線に従って読み出す場合、読み出し手順を記載したディスクリプタをメモリあるいはＤＭＡコントローラ内部に準備しておき、そのディスクリプタに従って矩形領域のデータの読み出しを行う。
【０００４】
特許文献１には、ディスクリプタが連続的に配置されたディスクリプタテーブルや、ディスクリプタが離散的に配置されたディスクリプタチェーンがメモリ上に格納された構成が開示されている。
【０００５】
しかし、矩形領域の増加に伴い、ディスクリプタを格納するためのメモリ領域が増加し、また、ディスクリプタの読み出しも必要となるのでメモリ帯域を圧迫しパフォーマンスが低下する。これを解決するためには、メモリの動作周波数を上げることが考えられるが、動作周波数を上げると消費電力が増加するという問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２９３８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記のような問題を解決するためになされたものであり、ディスクリプタを格納するためのメモリ領域の削減およびディスクリプタの読み出しに伴うメモリ帯域の圧迫を抑制することが可能なメモリデータの転送技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るメモリデータ処理装置の第１の態様は、メモリから矩形データを読み出すメモリデータ処理装置であって、前記メモリとの間のデータ転送を直接に行うデータ転送制御装置と、前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出すデータ／アドレス制御モジュールと、を備え、前記データ／アドレス制御モジュールは、前記データ転送制御装置を介して前記メモリから前記トリミング領域のデータを読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した１つの領域であって、前記矩形データの水平方向の１行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出す。
【００１０】
本発明に係るメモリデータ処理装置の第２の態様は、前記データ／アドレス制御モジュールが、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合に、前記トリミング領域内に収まるようにバンク領域を変更する。
【００１１】
本発明に係るメモリデータ処理装置の第３の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ／アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合、前記開始アドレスおよび前記終了アドレスのうち、前記マスク領域にある方のアドレスを、前記トリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する。
【００１２】
本発明に係るメモリデータ処理装置の第４の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ／アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスを、それぞれ、前記トリミング領域の前記走査ライン上の一方の端部のアドレスおよび他方の端部のアドレスに置き換えることで前記バンク領域を変更する。
本発明に係るメモリデータ処理装置の第５の態様は、前記データ／アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、それぞれの前記トリミング領域内に収まるようにバンク領域を変更する。
【００１３】
本発明に係るメモリデータ処理装置の第６の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ／アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスのうち、１つのトリミング領域側の前記マスク領域にある方のアドレスを前記１つのトリミング領域の前記走査ライン上の一方の端部のアドレスに置き換え、他のトリミング領域側の前記マスク領域にある方のアドレスを前記１つのトリミング領域の前記走査ライン上の他方の端部のアドレスに置き換えることで前記バンク領域を変更する。
【００１４】
本発明に係るメモリデータ処理装置の第７の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ／アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンク領域が複数の前記トリミング領域間に渡る場合、前記開始アドレスおよび前記終了アドレスのうち、１つの領域にある方のアドレスを他のトリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する。
【００１５】
本発明に係るメモリデータ処理装置の第８の態様は、前記矩形データが、第１の矩形データと第２の矩形データとを含み、前記メモリデータ処理装置は、前記メモリから読み出した前記第１の矩形データおよび前記第２の矩形データを１つの矩形データに合成する合成モジュールをさらに備え、前記データ／アドレス制御モジュールは、前記合成モジュールと前記データ転送制御装置との間に接続され、前記トリミング領域のデータおよび前記ダミーデータを前記合成モジュールに与え、前記データ／アドレス制御モジュールは、前記第２の矩形データのうち有意な情報が存在する領域として前記トリミング領域を定義し、有意な情報が存在しない領域を前記マスク領域として定義する。
【００１６】
本発明に係るメモリデータ転送方法の態様は、メモリから矩形データを読み出して転送するメモリデータ転送方法であって、前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した１つの領域であって、前記矩形データの水平方向の１行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出す。
【発明の効果】
【００１７】
オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すので、ディスクリプタが不要となり、ディスクリプタの格納に伴うメモリ領域の増加およびディスクリプタの読み出しに伴うメモリ帯域の圧迫を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】ディスクリプタを用いたＤＭＡ転送を説明する模式図である。
【図２】ディスクリプタを用いたＤＭＡ転送を説明する模式図である。
【図３】本発明の技術思想を説明するための模式図である。
【図４】矩形データにおけるバンク位置の一例を示す図である。
【図５】矩形データにおけるバンク位置の一例を示す図である。
【図６】バンク領域の変更例を説明する図である。
【図７】バンク領域の変更例を説明する図である。
【図８】バンク領域の変更例を説明する図である。
【図９】バンク領域の変更例を説明する図である。
【図１０】バンク領域の変更例を説明する図である。
【図１１】本発明に係る実施の形態のメモリデータ処理装置の構成を示すブロック図である。
【図１２】本発明に係る実施の形態のメモリデータ処理装置で使用される各種の信号とその名称を示す図である。
【図１３】バンクのアドレスの決定動作を説明するフローチャートである。
【図１４】ダミーデータの生成動作を説明するフローチャートである。
【図１５】ダミーデータの生成動作を説明するタイミングチャートである。
【発明を実施するための形態】
【００１９】
＜はじめに＞
本発明に係る実施の形態の説明に先立って、図１および図２を用いて、ディスクリプタを用いたＤＭＡ転送について説明する。
【００２０】
図１は、メモリに格納され、展開することで矩形状をなす矩形データＤＴから矩形領域Ｒ１およびＲ２のデータを走査線に従って読み出す動作を模式的に示す図である。図１に示すように、矩形データＤＴの垂直方向において互いに一部がオーバーラップした矩形領域Ｒ１およびＲ２のデータを、水平方向の走査線に従って読み出す場合、矩形領域Ｒ１において１回目〜３回目の走査を行った後は、矩形領域Ｒ２において４回目の走査を行い、次に、矩形領域Ｒ１において５回目の走査を行う。その後、矩形領域Ｒ２において６回目〜８回目の走査を行うことで矩形領域Ｒ１およびＲ２のデータの読み出しが完了する。
【００２１】
このようなデータの読み出しを行う場合、ディスクリプタを用いたＤＭＡ転送では、図２に示されるように、メモリＭＲ内に読み出し手順を記載したディスクリプタＤＳを準備しておき、ＤＭＡコントローラ（ＤＭＡＣ）４０がディスクリプタＤＳを読み出し、読み出したディスクリプタＤＳに従って矩形データＤＴから矩形領域Ｒ１およびＲ２のデータを読み出す。
【００２２】
これに対して本発明に係るメモリデータ処理装置では、オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すという新規な技術思想に基づいた発明である。
【００２３】
＜実施の形態＞
図３は、本発明の技術思想を説明するための模式図であり、矩形状に展開された矩形データＯＲ（第２の矩形データ）を、有意な情報が存在する矩形のトリミング領域ＲＡ０、ＲＡ１、ＲＡ２およびＲＡ３と、有意な情報が存在しないマスク領域ＭＡとに分けて示している。なお、図３では４つのトリミング領域を設定した例を示したが、これに限定されるものではない。なお、「有意な情報」とは、矩形データＯＲとは別の矩形データ（第１の矩形データ）を矩形データＯＲと合成した場合に、当該別の矩形データとは重ならない部分の情報である。
【００２４】
従来のＤＭＡ転送では、矩形データ全体を「バンク」と呼称し、バンクの開始アドレスと終了アドレスで規定されるバンクの全てのデータをメモリから読み出すが、先に説明しＳたように、本発明では、有意な情報が存在しない領域のデータについてはメモリからのデータの読み出しは行わないので、「バンク」の概念が従来のＤＭＡ転送とは異なっている。
【００２５】
すなわち、図３においては矩形データＯＲがＤＭＡ転送の対象となる領域であり、図に向かって左上角部が開始アドレスSTART_ADRS_xであり、右下角部が終了アドレスEND_ADRS_xとなっており、従来のＤＭＡ転送では、これらのアドレスが指定されると、開始アドレスSTART_ADRS_xから右側（走査ラインの走査方向）に向かってデータが読み出され、右端に達すると、１データ分下に下がり、左端から右側に向かってデータを読み出すという動作を終了アドレスEND_ADRS_xに至るまで繰り返す。
【００２６】
しかし、本発明では、図３に符号ＢＫを付して示すように、矩形データＯＲを、複数の領域に等分割した１つの領域としてバンクを規定している。このように、矩形データＯＲを微少なバンクＢＫで分割することで、有意な情報が存在する領域のデータのみを読み出すトリミング処理が可能となる。
【００２７】
すなわち、矩形データＯＲをバンクＢＫ単位で区分し、マスク領域ＭＡに該当する位置のバンクＢＫについてはメモリからのデータの読み出しを行わず、トリミング領域ＲＡ０〜ＲＡ３に該当する位置のバンクＢＫについてはメモリからのデータの読み出しを行うようにする。これによりトリミング処理が可能となる。
【００２８】
図３に示すように、トリミング領域ＲＡ０〜ＲＡ３のそれぞれは、開始アドレスSTART_ADRS_xからのオフセットアドレスTRIM_OFSADRS_0、TRIM_OFSADRS_1、TRIM_OFSADRS_2およびTRIM_OFSADRS_3を有すると共に、バイト情報としてトリミング領域の水平サイズTRIM_HSIZE_0、TRIM_HSIZE_1、TRIM_HSIZE_2および0TRIM_HSIZE_3、ライン情報としてトリミング領域の垂直サイズTRIM_VSIZE_0、TRIM_VSIZE_1、TRIM_VSIZE_2および0TRIM_VSIZE_3を有している。なお、トリミング領域の水平サイズおよびトリミング領域の垂直サイズを０に設定すると、その領域のデータは読み出されない。
【００２９】
このように、各トリミング領域は、開始アドレスからのオフセットアドレスを起点として、トリミング領域の水平サイズおよびトリミング領域の垂直サイズによって領域が規定されるので、トリミング領域内にバンクＢＫが存在するか否かで、メモリからのデータの読み出しを行うか否かが決定される。
【００３０】
例えば、図４は、マスク領域ＭＡに該当する位置にバンクＢＫがある場合を模式的に示しており、開始アドレスCORE_START_ADRSと終了アドレスCORE_END_ADRSとでバンクＢＫの領域が一次元的に規定されている。図４の場合は、バンクＢＫがトリミング領域ＲＡの近傍のマスク領域ＭＡにあるので、当該バンクＢＫで規定される領域内についてはメモリからのデータの読み出しは行わない。
【００３１】
一方、図５は、トリミング領域ＲＡ内にバンクＢＫがある場合を模式的に示しており、開始アドレスCORE_START_ADRSおよび終了アドレスCORE_END_ADRSを、それぞれバスインターフェースでの転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSとし、当該バンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。
【００３２】
ただし、トリミング領域は必ずしもバンクＢＫのサイズに合わせて決定されるものではない。従って、マスク領域とトリミング領域の両方に跨るようにバンクＢＫが存在する場合がある。
【００３３】
このように、マスク領域とトリミング領域の両方に跨るようにバンクＢＫが存在する場合は、バンクＢＫの領域（バンク領域）を変更して対処するが、以下、そのバリエーションについて説明する。
【００３４】
＜バンク領域変更のバリエーション＞
図６は、マスク領域ＭＡとトリミング領域ＲＡの両方に跨るようにバンクＢＫが存在する場合であって、開始アドレスCORE_START_ADRSがマスク領域ＭＡにあり、終了アドレスCORE_END_ADRSがトリミング領域ＲＡにある場合を示している。
【００３５】
このような場合は、バンクＢＫの開始アドレスを同じ走査ライン上のトリミング領域ＲＡの左端のアドレスに置き換えて、バスインターフェースでの転送開始アドレスBUS_START_ADRSとし、終了アドレスCORE_END_ADRSを転送終了アドレスBUS_END_ADRSとすることで、バンクＢＫの領域を変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。
【００３６】
また、図７は、マスク領域ＭＡとトリミング領域ＲＡの両方に跨るようにバンクＢＫが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域ＲＡにあり、終了アドレスCORE_END_ADRSがマスク領域ＭＡにある場合を示している。
【００３７】
このような場合は、バンクＢＫの終了アドレスを同じ走査ライン上のトリミング領域ＲＡの右端のアドレスに置き換えて、バスインターフェースでの転送終了アドレスBUS_END_ADRSとし、開始アドレスCORE_START_ADRSを転送開始アドレスBUS_START_ADRSとすることで、バンクＢＫの領域を変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。
【００３８】
また、図８は、マスク領域ＭＡとトリミング領域ＲＡの両方に跨るようにバンクＢＫが存在する場合であって、開始アドレスCORE_START_ADRSがマスク領域ＭＡにあり、終了アドレスCORE_END_ADRSもマスク領域ＭＡにある場合を示している。
【００３９】
このような場合は、バンクＢＫの開始アドレスを同じ走査ライン上のトリミング領域ＲＡの左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域ＲＡの右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクＢＫの領域を変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。
【００４０】
また、図９は、マスク領域ＭＡと、間を開けて並列する２つのトリミング領域ＲＡ１０およびＲＡ１１に跨るようにバンクＢＫが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域ＲＡ１０側のマスク領域ＭＡにあり、終了アドレスCORE_END_ADRSがトリミング領域ＲＡ１１側のマスク領域ＭＡにあり、トリミング領域ＲＡ１０とＡ１１との間にマスク領域ＭＡが挟まれている場合を示している。
【００４１】
このような場合は、１回のアドレス書き込みリクエストCORE_ADRS_REQ（後に説明）を２つに分割して２つのバンクを作るものとし、一方のバンクＢＫの開始アドレスを同じ走査ライン上のトリミング領域ＲＡ１０の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域ＲＡ１０の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクＢＫの領域をトリミング領域ＲＡ１０内に収まるように変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。
【００４２】
また、他方のバンクＢＫの開始アドレスを同じ走査ライン上のトリミング領域ＲＡ１１の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域ＲＡ１１の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクＢＫの領域をトリミング領域ＲＡ１１内に収まるように変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。この変更処理は、３つ以上のトリミング領域に跨るようにバンクＢＫが存在する場合でも同様に対応できる。
【００４３】
また、図１０は、マスク領域ＭＡと、間を開けて並列する２つのトリミング領域ＲＡ２０およびＲＡ２１に跨るようにバンクＢＫが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域ＲＡ２０内にあり、終了アドレスCORE_END_ADRSがトリミング領域ＲＡ２１内にあり、トリミング領域ＲＡ２０とＡ２１との間にマスク領域ＭＡが挟まれている場合を示している。
【００４４】
このような場合は、１回のアドレス書き込みリクエストCORE_ADRS_REQ（後に説明）を２つに分割して２つのバンクを作るものとし、一方のバンクＢＫについては終了アドレスを同じ走査ライン上で向かって左側となるトリミング領域ＲＡ２０の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとし、開始アドレスCORE_START_ADRSを転送開始アドレスBUS_START_ADRSとすることで、バンクＢＫの領域を変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。また、他方のバンクＢＫについては開始アドレスを同じ走査ライン上で向かって右側となるトリミング領域ＲＡ２１の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとし、終了アドレスを転送終了アドレスBUS_END_ADRSとすることで、バンクＢＫの領域を変更し、変更後のバンクＢＫで規定される領域内についてメモリからのデータの読み出しを行う。この変更処理は、３つ以上のトリミング領域に跨るようにバンクＢＫが存在する場合でも同様に対応できる。
【００４５】
＜装置構成＞
図１１は本発明に係る実施の形態のメモリデータ処理装置１００の構成を示すブロック図である。図１１に示すようにメモリデータ処理装置１００は、データ／アドレス制御モジュール１と、ＤＭＡＣ２と、合成モジュール３とを主たる構成として備えている。
【００４６】
ＤＭＡＣ２は、合成モジュール３とメモリ４との間のデータ転送をＣＰＵ５を介さずに直接に行うデータ転送制御装置であり、データ／アドレス制御モジュール１は、ＤＭＡＣ２と合成モジュール３との間に設けられている。
【００４７】
データ／アドレス制御モジュール１は、先に説明したトリミング処理を行う部位であり、トリミングアドレス生成ブロック１１、ダミーデータ挿入ブロック１２、先入れ先出しメモリ（ＦＩＦＯ）１３およびレジスタ１４を有している。
【００４８】
合成モジュール３は、アドレス演算ブロック３１とＦＩＦＯ３２とを有し、アドレス演算ブロック３１からは、バンク開始アドレスCURBANK_START_ADRS、バンク終了アドレスCURBANK_END_ADRS、アドレス書き込みリクエストCORE_ADRS_REQ、転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRSが、データ／アドレス制御モジュール１のトリミングアドレス生成ブロック１１に与えられる。また、バンク開始アドレスおよびバンク終了アドレスは、データ／アドレス制御モジュール１のダミーデータ挿入ブロック１２にも与えられる。
【００４９】
ここで、バンク開始アドレスCURBANK_START_ADRSおよびバンク終了アドレスCURBANK_END_ADRSは、矩形データの開始アドレスと終了アドレスとを規定している。
【００５０】
また、アドレス書き込みリクエスト、転送開始アドレスおよび転送終了アドレスはＦＩＦＯ３２にも与えられる。また、ＦＩＦＯ３２には、トリミングアドレス生成ブロック１１からアドレス書き込みリクエスト受付完了信号CORE_FIFO_REQが与えられる。
【００５１】
なお、バンク開始アドレス、バンク終了アドレス、アドレス書き込みリクエスト、転送開始アドレス、転送終了アドレスおよびアドレス書き込みリクエスト受付完了信号は、コアアドレスインターフェース（Ｉ／Ｆ）９３を構成している。
【００５２】
なお、合成モジュール３は、メモリ４から読み出した矩形データ、すなわち第１および第２の矩形データを合成するので、アドレス演算ブロック３１およびＦＩＦＯ３２意外にも合成処理のための構成を有しているが、合成処理自体は従来的な技術であるので図示は省略している。
【００５３】
データ／アドレス制御モジュール１のダミーデータ挿入ブロック１２には、ＦＩＦＯ３２からリードデータリクエストCORE_RD_REQおよび要求量読み出し完了信号CORE_RD_ENDが与えられ、ＦＩＦＯ３２には、ダミーデータ挿入ブロック１２からリードデータ有効信号CORE_RD_VALおよびリードデータCORE_RD_DATAが与えられる。
【００５４】
なお、リードデータリクエスト、要求量読み出し完了信号、リードデータ有効信号およびリードデータはコアデータＩ／Ｆ９４を構成している。
【００５５】
データ／アドレス制御モジュール１のトリミングアドレス生成ブロック１１からは、ＤＭＡＣ２に対してアドレス書き込みリクエストBUS_ADRS_REQ、転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSが与えられ、ＤＭＡＣ２からアドレス書き込みリクエスト受付完了信号BUS_FIFO_REQが与えられる。
【００５６】
なお、アドレス書き込みリクエスト、転送開始アドレス、転送終了アドレスおよびアドレス書き込みリクエスト受付完了信号はバスアドレスＩ／Ｆ９１を構成している。
【００５７】
データ／アドレス制御モジュール１のダミーデータ挿入ブロック１２からは、ＤＭＡＣ２に対してリードデータリクエストBUS_RD_REQおよび要求量読み出し完了信号BUS_RD_ENDを与え、ＤＭＡＣ２からリードデータ有効信号BUS_RD_VALおよびリードデータBUS_RD_DATAが与えられる。
【００５８】
なお、リードデータリクエスト、要求量読み出し完了信号、リードデータ有効信号およびリードデータは、バスデータＩ／Ｆ９２を構成している。
【００５９】
データ／アドレス制御モジュール１のレジスタ１４には、ＣＰＵ５から、トリミングモードイネーブル信号TRIM_EN、有効領域水平HサイズVAL_HSIZE、トリミング領域ｘ（ｘは図３のトリミング領域の番号の数値に対応）の開始オフセットアドレスTRIM_OFSADRS_x、トリミング領域ｘの水平サイズTRIM_HSIZE_x、トリミング領域ｘの垂直サイズTRIM_VSIZE_xおよびダミーデータ（透過データ）DMY_DATAが与えられる。
【００６０】
なお、トリミングモードイネーブル信号、有効領域水平サイズ、トリミング領域ｘの開始オフセットアドレス、トリミング領域ｘの水平サイズ、トリミング領域ｘの垂直サイズおよびダミーデータはレジスタＩ／Ｆ９５を構成している。また、レジスタＩ／Ｆ９５はＤＭＡＣ２にも接続されている。
【００６１】
レジスタ１４は、レジスタＩ／Ｆ９５を介して与えられたトリミング領域に関する情報をトリミングアドレス生成ブロック１１に与え、また、ダミーデータをダミーデータ挿入ブロック１２に与える。
【００６２】
トリミングアドレス生成ブロック１１とダミーデータ挿入ブロック１２との間のＦＩＦＯ１３では、レジスタＩ／Ｆ９５を介して与えられたトリミング領域に関する情報に基づいて、トリミングアドレス生成ブロック１１で作成されたアドレスのデータが与えられ、マスク領域である場合は、その情報がダミーデータ挿入ブロック１２に与えられる。
【００６３】
図１２には、以上説明したメモリデータ処理装置１００で使用される各種の信号とその名称の一覧を示す。
【００６４】
＜バンクアドレスの決定動作＞
次に、図４〜図１０を用いて説明した種々のバンクのアドレスの決定動作について、図１１を参照しつつ図１３に示すフローチャートを用いて説明する。
【００６５】
図１１に示すメモリデータ処理装置１００においては、通常のＤＭＡ動作では、ＤＭＡ転送の対象となる矩形データの全てのデータをメモリから読み出す通常モードとなっているが、ＣＰＵ５からレジスタＩ／Ｆ９５を介して与えられる、トリミングモードイネーブル信号TRIM_ENが、例えば「１」になってイネーブルとなり、かつ、合成モジュール３のアドレス演算ブロック３１からデータ／アドレス制御モジュール１に対して、バンクの転送開始アドレスCORE_START_ADRS（ＣＳＡ）および転送終了アドレスCORE_END_ADR（ＣＥＡ）が与えられることで、ＤＭＡ転送が要求されると、トリミングモードに切り替わる（ステップＳ１）。
【００６６】
ＣＳＡおよびＣＥＡを受けたトリミングアドレス生成ブロック１１では、レジスタＩ／Ｆ９５を介して与えられたトリミング領域に関する情報に基づいて、対象となっているバンクのＣＳＡおよびＣＥＡの何れかがトリミング領域に含まれているか否かを判断する（ステップＳ２）。
【００６７】
ステップＳ２で、ＣＳＡおよびＣＥＡの何れかがトリミング領域に含まれていると判断された場合はステップＳ３に進むが、どちらもトリミング領域に含まれていない場合はＤＭＡＣ２に対するＤＭＡ転送を要求しないものとしてステップＳ１に戻り、合成モジュール３からの次のＤＭＡ転送の要求を待つ。この場合、バンクがマスク領域に存在する場合であるので、バンク変更動作は行なわない。
【００６８】
ステップＳ３では、ＣＳＡがトリミング領域に含まれているか否かを判断し、ＣＳＡがトリミング領域に含まれていると判断される場合はステップＳ４に進み、そうでない場合にはステップＳ１０に進む。
【００６９】
ステップＳ４では、ＣＳＡ（開始アドレスCORE_START_ADRS）をＢＳＡ（転送開始アドレスBUS_START_ADRS）としてステップＳ５に進む。
【００７０】
ステップＳ５では、ＣＥＡがトリミング領域に含まれているか否かを判断し、ＣＥＡがトリミング領域に含まれていると判断される場合はステップＳ６に進み、そうでない場合にはステップＳ１１に進む。
【００７１】
ステップＳ６では、ＣＥＡ（終了アドレスCORE_END_ADRS）をＢＥＡ（転送終了アドレスBUS_END_ADRS）としてステップＳ７に進む。
【００７２】
上述したステップＳ４〜Ｓ６の処理を経ることで、図５を用いて説明したようにトリミング領域内にバンクがある場合のバンクの開始アドレスおよび終了アドレスを決定できると共に、バンクのデータサイズを決定できる。
【００７３】
ステップＳ７では、トリミングアドレス生成ブロック１１がＢＳＡおよびＢＥＡをＤＭＡＣ２に送信することでＤＭＡ転送を要求すると共に、アドレス書き込みリクエストBUS_ADRS_REQを送信して、バンクに含まれるトリミング領域のデータの読み出しを要求する。データの読み出しの要求を受けたＤＭＡＣ２は、要求を受け付けたことを示すアドレス書き込みリクエスト受付完了信号BUS_FIFO_REQをトリミングアドレス生成ブロック１１に与え、それを受けたトリミングアドレス生成ブロック１１は、アドレス書き込みリクエスト受付完了信号CORE_FIFO_REQとしてＦＩＦＯ３２に与える。
【００７４】
その後、ステップＳ８において、トリミングアドレス生成ブロック１１で決定されたバンクの開始アドレス、終了アドレスおよびバンクのデータサイズなどのＤＭＡＣ２に読み出しを要求したリクエスト情報をＦＩＦＯ１３に格納する。なお、ステップＳ２において、判断対象となっているバンクのＣＳＡおよびＣＥＡのどちらもトリミング領域に含まれていないと判断された場合は、ＤＭＡＣ２に対するＤＭＡ転送は要求しないが、当該バンクのＣＳＡおよびＣＥＡは、当該バンクがマスク領域にあるというマスク領域情報としてデータサイズと共にＦＩＦＯ１３に格納する。
【００７５】
ステップＳ７でＤＭＡ転送を要求し、アドレス書き込みリクエストBUS_ADRS_REQを送信した後は、ダミーデータ挿入ブロック１２が、ＦＩＦＯ３２からリードデータリクエストCORE_RD_REQを受けてＤＭＡＣ２に対してリードデータリクエストBUS_RD_REQを与えることで、ＤＭＡＣ２がメモリ４からＢＳＡおよびＢＥＡで規定されるバンクに対応するトリミング領域のデータを読み出し（ＤＭＡ転送）、リードデータBUS_RD_DATAとしてダミーデータ挿入ブロック１２に与えると共に、当該リードデータを有効なデータとするためのリードデータ有効信号BUS_RD_VALもダミーデータ挿入ブロック１２に与える。
【００７６】
ダミーデータ挿入ブロック１２では、リードデータBUS_RD_DATAおよびリードデータ有効信号BUS_RD_VALを、それぞれリードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALとしてＦＩＦＯ３２に与える。
【００７７】
ＦＩＦＯ３２は、リードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALを受け取ると、要求したデータの読み出しが完了したことを示す要求量読み出し完了信号CORE_RD_ENDをダミーデータ挿入ブロック１２に与え、それを受けたダミーデータ挿入ブロック１２が要求量読み出し完了信号BUS_RD_ENDをＤＭＡＣ２に与えることで１つのバンクに含まれるトリミング領域のデータのＤＭＡ転送が終了する。
【００７８】
ステップＳ９では、ＤＭＡ転送の対象となる矩形データの全てのバンクに対するＤＭＡ転送が終了した否かを判断し、終了している場合には当該矩形データに対するＤＭＡ転送動作を終了し、そうでない場合はステップＳ１以下の処理を繰り返す。なお、マスク領域のバンクに対応するデータは読み出さないが、当該バンクについてもステップＳ１以下の処理を行っているのでＤＭＡ転送したものとして扱う。
【００７９】
なお、以上の説明は、図５を用いて説明したようにトリミング領域内にバンクがある場合のバンクアドレスの決定動作であったが、次に、図６〜図１０を用いて説明したようなバンクを変更する場合のバンクアドレスの決定動作について説明する。
【００８０】
＜図６の例＞
ステップＳ３においてＣＳＡがトリミング領域に含まれていないと判断される場合、すなわちＣＳＡがマスク領域に存在する図６のような場合は、ステップＳ１０において、ＣＥＡと同じ走査ライン上のトリミング領域の先端のアドレスを取得し、それをＣＳＡとして置き換えてＢＳＡ（転送開始アドレスBUS_START_ADRS）とする。
【００８１】
この後、ステップＳ５において、ＣＥＡがトリミング領域に含まれているか否かを判断し、ＣＥＡがトリミング領域に含まれていると判断される場合はステップＳ６に進む。なお、ステップＳ１０を通った場合はＣＥＡはトリミング領域に含まれるのでステップＳ６に進むこととなる。
【００８２】
ステップＳ６では、ＣＥＡ（終了アドレスCORE_END_ADRS）をＢＥＡ（転送終了アドレスBUS_END_ADRS）としてステップＳ７に進む。以下の処理の説明は省略する。
【００８３】
＜図７の例＞
一方、ステップＳ３においてＣＳＡがトリミング領域に含まれていると判断された場合、すなわちＣＥＡがマスク領域に存在する図７のような場合は、ステップＳ４においてＣＳＡ（開始アドレスCORE_START_ADRS）をＢＳＡ（転送開始アドレスBUS_START_ADRS）としてステップＳ５に進む。
【００８４】
ステップＳ５では、ＣＥＡがトリミング領域に含まれているか否かを判断し、ＣＥＡがトリミング領域に含まれていないと判断される場合にはステップＳ１１に進む。
【００８５】
ステップＳ１１では、ＣＳＡと同じ走査ライン上のトリミング領域の終端のアドレスを取得し、それをＣＥＡとして置き換えてＢＥＡ（転送終了アドレスBUS_END_ADRS）としてステップＳ７に進む。以下の処理の説明は省略する。
【００８６】
なお、図８および図９を用いて説明したようなバンク配置の場合、すなわちＣＳＡおよびＣＥＡの両方がマスク領域にある場合と、図１０を用いて説明したようなバンク配置の場合、すなわちＣＳＡおよびＣＥＡの両方がトリミング領域にある場合は見分けがつかないので、図１３に示したフローチャートにおいて、例えば、ステップＳ１とＳ２との間に、対象となるバンクがトリミング領域を跨ぐように配置されているか否かを判断するステップを設け、トリミング領域を跨いでいる場合には、跨いでいるトリミング領域の個数に合わせてステップＳ２〜ステップＳ１１の処理を繰り返すようにすれば良い。
【００８７】
この場合、トリミングアドレス生成ブロック１１がアドレス演算ブロック３１から受けた１回のアドレス書き込みリクエストCORE_ADRS_REQでアドレス書き込みリクエストBUS_ADRS_REQを複数回ＤＭＡＣ２に与えるようにすれば良い。
【００８８】
＜ダミーデータの生成動作＞
次に、ダミーデータ挿入ブロック１２におけるダミーデータの生成動作について、図１１を参照しつつ図１４に示すフローチャートを用いて説明する。
【００８９】
ダミーデータ挿入ブロック１２では、ＦＩＦＯ１３に格納されたバンクの開始アドレス、終了アドレスおよびバンクのデータサイズなどのリクエスト情報に基づいて、読み出しデータに対応するアドレスを計算する。また、ＦＩＦＯ１３には、リクエスト情報の代わりに、バンクがマスク領域に存在する場合の当該バンクのＣＳＡおよびＣＥＡおよびデータサイズなどのマスク領域情報も格納されている場合もあり、その場合は当該マスク領域情報に基づいてダミーデータに対応するアドレスを計算する。
【００９０】
そのため、まず、ＦＩＦＯ１３からリクエスト情報またはマスク領域情報を取り出す（ステップＳ２１）。
【００９１】
そして、ステップＳ２２においてＦＩＦＯ１３から読み出した情報に基づいて、処理対象のバンクがトリミング領域にあるのか、マスク領域にあるのかを判断し、トリミング領域にあると判断される場合にはステップＳ２３に進み、マスク領域にあると判断される場合にはステップＳ２４に進む。
【００９２】
ステップＳ２３では、ダミーデータ挿入ブロック１２が、ＤＭＡＣ２に対してリードデータリクエストBUS_RD_REQをＤＭＡＣ２に与えることで、ＤＭＡＣ２がメモリ４からＢＳＡおよびＢＥＡで規定されるバンクに対応するトリミング領域のデータを読み出し、リードデータBUS_RD_DATA（ＢＲＤ）としてダミーデータ挿入ブロック１２に与える。ダミーデータ挿入ブロック１２では、受信したＢＲＤをリードデータCORE_RD_DATA（ＣＲＤ）として合成モジュール３のＦＩＦＯ３２に送信する。
【００９３】
一方、ステップＳ２４では、ＦＩＦＯ１３から取り出したバンクのデータサイズ分の透過データをダミーデータDMY_DATとして作成して合成モジュール３のＦＩＦＯ３２に送信する。
【００９４】
なお、ステップＳ２４の処理は図１３を用いて説明したステップＳ７以降のＤＭＡ転送動作に対応するので詳細な説明は省略する。
【００９５】
処理対象のバンクに対して、ステップＳ２３のＤＭＡ転送動作またはステップＳ２４のダミーデータ送信動作が終了すると、ＤＭＡ転送の対象となる矩形データの全てのバンクに対するＤＭＡ転送が終了した否かを判断し、終了している場合には当該矩形データに対するＤＭＡ転送動作を終了し、そうでない場合はステップＳ２１以下の処理を繰り返す。なお、マスク領域のバンクに対応するデータは読み出さないが、当該バンクについてはダミーデータを作成して送信しているので、ＤＭＡ転送したものとして扱う。
【００９６】
図１５は、トリミングアドレス生成ブロック１１におけるバンクアドレスの決定からダミーデータ挿入ブロック１２におけるダミーデータの生成までの一連の動作を説明するタイミングチャートである。
【００９７】
図１５に示すように、アドレス演算ブロック３１からトリミングアドレス生成ブロック１１に与えられるバンク開始アドレスCURBANK_START_ADRSおよびバンク終了アドレスCURBANK_END_ADRSにより、１つの矩形データのアドレスが規定される。
【００９８】
ここで、図１５においては１つの矩形データの読み出し期間を、例えば、矩形データ０期間、矩形データ１期間と記載している。
【００９９】
図１５においては、矩形データ０期間において、トリミング領域にあるバンクＡ０およびマスク領域にあるバンクＡ１の転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRが決定され、矩形データ１期間において、トリミング領域にあるバンクＡ２の転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRが決定される例を示している。
【０１００】
なお、バンクアドレスの決定は、アドレス書き込みリクエストCORE_ADRS_REQが「Ｈｉｇｈ」になっている期間に行われ、アドレス書き込みリクエストBUS_ADRS_REQが「Ｈｉｇｈ」になっている期間に、転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSをＤＭＡＣ２に与えて、バンクＡ０およびバンクＡ２の領域に対応するデータの読み出しを要求する。なお、マスク領域に存在するバンクＡ１の領域に対応するデータについては読み出しは要求しない。
【０１０１】
トリミング領域にあるバンクについてデータの読み出しを要求した後、ダミーデータ挿入ブロック１２が、ＤＭＡＣ２に対してリードデータリクエストBUS_RD_REQをＤＭＡＣ２に与えることで、ＤＭＡＣ２がリードデータ有効信号BUS_RD_VALと共にリードデータBUS_RD_DATAを出力する。なお、リードデータ有効信号BUS_RD_VALはリードデータリクエストBUS_RD_REQが与えられている期間に出力され、リードデータリクエストBUS_RD_REQは、ＦＩＦＯ３２からリードデータリクエストCORE_RD_REQが与えられている期間に出力される。
【０１０２】
図１５においては、リードデータ有効信号BUS_RD_VALが与えられている期間に、バンクＡ０の領域に対応するデータとしてデータＤ０〜Ｄ３が読み出され、バンクＡ２の領域に対応するデータとしてデータＤ４〜Ｄ７が読み出される例が示されている。
【０１０３】
ダミーデータ挿入ブロック１２では、ＤＭＡＣ２から与えられるリードデータ有効信号BUS_RD_VALをリードデータ有効信号CORE_RD_VALとしてＦＩＦＯ３２に与えるが、その際、ダミーデータを出力する場合にはリードデータ有効信号CORE_RD_VALの期間をダミーデータを出力し終わるまで延長してＦＩＦＯ３２に与える。
【０１０４】
ＦＩＦＯ３２は、リードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALを受け取ると、要求したデータの読み出しが完了したことを示す要求量読み出し完了信号CORE_RD_ENDをダミーデータ挿入ブロック１２に与え、それを受けたダミーデータ挿入ブロック１２が要求量読み出し完了信号BUS_RD_ENDをＤＭＡＣ２に与える。
【０１０５】
なお、図１５では、ダミーデータＤＤの出力が終わった場合にも要求量読み出し完了信号CORE_RD_ENDがダミーデータ挿入ブロック１２に与えられること示しているが、この場合は要求量読み出し完了信号BUS_RD_ENDは出力されない。
【０１０６】
以上説明したように、本発明に係るメモリデータ処理装置１００においては、オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すので、ディスクリプタが不要となり、メモリ領域を削減することが可能となる。
【０１０７】
また、１つの矩形データを、複数の領域に等分割した１つの領域としてバンクを規定し、当該バンクごとにトリミング領域にあるかマスク領域にあるかを判断するので、有意な情報が存在するトリミング領域に対応するデータのみをメモリから読み出すことができる。
【０１０８】
このため、ＤＭＡＣ２がメモリ４にアクセスする回数を低減でき、メモリ帯域の圧迫によるパフォーマンスの低下を、メモリの動作周波数を上げることなく抑制することが可能となる。
【０１０９】
また、メモリ領域の削減およびメモリ帯域の圧迫の解消は消費電力の削減にも繋がる。
【０１１０】
以上説明した実施の形態においては、画像の重ね合わせ（矩形データの合成）に本発明を適用する場合について説明したが、単に、画像データの一部をトリミングしたい場合にも本発明は適用可能である。
【０１１１】
例えば、外部メモリからトリミング領域のデータを「有意な情報」として読み出し、トリミング領域のデータを画像処理モジュールでフィルタ処理にかける場合、データ／アドレス制御モジュールは、外部メモリからトリミング領域のデータ(生データ)を読み出すが、トリミング領域以外の領域はマスク領域としてデータの読み出しを行わず、ダミーデータを生成して出力する。この場合、画像処理モジュール側では、生データは処理対象のデータとし、ダミーデータは処理不要のデータとして扱うことで、トリミング領域のデータのみをフィルタ処理にかけることができ、データ処理速度を高めることができる。
【０１１２】
また、本発明は、主画像とオンスクリーンディスプレイ用の画像（ＯＳＤ画像）との重ね合わせを行うＧＤＵ（graphic display unit)への適用や、写真データ等の画像から画像を切り出す場合にも適用可能である。すなわち、写真データ等の画像のうち、切り出したい箇所を有意な情報とし、それ以外の箇所はマスク領域としてダミーデータを生成するような場合にも本発明は適用可能である。要するに、メモリ上のデータであって、アドレスで個別に指定できるデータ（画像）であれば本発明の適用は可能である。
【０１１３】
また、出力先も、ディスプレイに限定されず、メモリや他の機能ブロックに出力しても良い。
【０１１４】
また、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１１５】
１  データ／アドレス制御モジュール
２  ＤＭＡＣ
３  合成モジュール
４  メモリ
【図１】
0006506052.tif 000002
【図２】
0006506052.tif 000003
【図３】
0006506052.tif 000004
【図４】
0006506052.tif 000005
【図５】
0006506052.tif 000006
【図６】
0006506052.tif 000007
【図７】
0006506052.tif 000008
【図８】
0006506052.tif 000009
【図９】
0006506052.tif 000010
【図１０】
0006506052.tif 000011
【図１１】
0006506052.tif 000012
【図１２】
0006506052.tif 000013
【図１３】
0006506052.tif 000014
【図１４】
0006506052.tif 000015
【図１５】
0006506052.tif 000016