特許第6506052号(P6506052)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

特許6506052メモリデータ処理装置およびメモリデータ転送方法
<>
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000002
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000003
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000004
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000005
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000006
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000007
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000008
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000009
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000010
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000011
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000012
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000013
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000014
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000015
  • 特許6506052-メモリデータ処理装置およびメモリデータ転送方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6506052
(24)【登録日】2019年4月5日
(45)【発行日】2019年4月24日
(54)【発明の名称】メモリデータ処理装置およびメモリデータ転送方法
(51)【国際特許分類】
   G06F 13/28 20060101AFI20190415BHJP
   G09G 5/36 20060101ALI20190415BHJP
   G09G 5/377 20060101ALI20190415BHJP
   G09G 5/395 20060101ALI20190415BHJP
   G09G 5/00 20060101ALI20190415BHJP
【FI】
   G06F13/28 310M
   G06F13/28 310Y
   G06F13/28 310N
   G09G5/36 520P
   G09G5/36 520M
   G09G5/36 530F
   G09G5/00 550R
【請求項の数】9
【全頁数】20
(21)【出願番号】特願2015-42411(P2015-42411)
(22)【出願日】2015年3月4日
(65)【公開番号】特開2016-162346(P2016-162346A)
(43)【公開日】2016年9月5日
【審査請求日】2018年2月7日
(73)【特許権者】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】森 敬
(72)【発明者】
【氏名】内山 篤司
(72)【発明者】
【氏名】森本 和也
(72)【発明者】
【氏名】南 信広
【審査官】 打出 義尚
(56)【参考文献】
【文献】 特開2004−127093(JP,A)
【文献】 特開2003−233809(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/28
G09G 5/00
G09G 5/36
G09G 5/377
G09G 5/395
(57)【特許請求の範囲】
【請求項1】
メモリから矩形データを読み出すメモリデータ処理装置であって、
前記メモリとの間のデータ転送を直接に行うデータ転送制御装置と、
前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出すデータ/アドレス制御モジュールと、を備え、
前記データ/アドレス制御モジュールは、
前記データ転送制御装置を介して前記メモリから前記トリミング領域のデータを読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、
前記矩形データを複数の領域に等分割した1つの領域であって、前記矩形データの水平方向の1行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出すことを特徴とする、メモリデータ処理装置。
【請求項2】
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合に、前記トリミング領域内に収まるようにバンク領域を変更する、請求項1記載のメモリデータ処理装置。
【請求項3】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合、前記開始アドレスおよび前記終了アドレスのうち、前記マスク領域にある方のアドレスを、前記トリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項2記載のメモリデータ処理装置。
【請求項4】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスを、それぞれ、前記トリミング領域の前記走査ライン上の一方の端部のアドレスおよび他方の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項
記載のメモリデータ処理装置。
【請求項5】
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、
それぞれの前記トリミング領域内に収まるようにバンク領域を変更する、請求項記載のメモリデータ処理装置。
【請求項6】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスのうち、1つのトリミング領域側の前記マスク領域にある方のアドレスを前記1つのトリミング領域の前記走査ライン上の一方の端部のアドレスに置き換え、他のトリミング領域側の前記マスク領域にある方のアドレスを前記1つのトリミング領域の前記走査ライン上の他方の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項記載のメモリデータ処理装置。
【請求項7】
前記バンクは、
前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、
前記データ/アドレス制御モジュールは、
前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンク領域が複数の前記トリミング領域間に渡る場合、前記開始アドレスおよび前記終了アドレスのうち、1つの領域にある方のアドレスを他のトリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する、請求項記載のメモリデータ処理装置。
【請求項8】
前記矩形データは、第1の矩形データと第2の矩形データとを含み、
前記メモリデータ処理装置は、
前記メモリから読み出した前記第1の矩形データおよび前記第2の矩形データを1つの矩形データに合成する合成モジュールをさらに備え、
前記データ/アドレス制御モジュールは、
前記合成モジュールと前記データ転送制御装置との間に接続され、前記トリミング領域のデータおよび前記ダミーデータを前記合成モジュールに与え、
前記データ/アドレス制御モジュールは、
前記第2の矩形データのうち有意な情報が存在する領域として前記トリミング領域を定義し、有意な情報が存在しない領域を前記マスク領域として定義する、請求項1記載のメモリデータ処理装置。
【請求項9】
メモリから矩形データを読み出して転送するメモリデータ転送方法であって、
前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出し、
前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した1つの領域であって、前記矩形データの水平方向の1行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出すことを特徴とする、メモリデータ転送方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はメモリデータ処理装置に関し、特に、複数の矩形データを合成して1つの矩形データに合成する際のメモリデータの転送技術に関する。
【背景技術】
【0002】
昨今では、メモリからのデータ転送をCPU(Central Processing Unit)を介さずに直接に行うことで、CPUの負担を軽減するDMA(direct memory access)転送という技術が使用されている。
【0003】
DMA転送では、メモリに格納され、展開することで矩形状をなす矩形データから、所定の矩形領域のデータを走査線に従って読み出す場合、読み出し手順を記載したディスクリプタをメモリあるいはDMAコントローラ内部に準備しておき、そのディスクリプタに従って矩形領域のデータの読み出しを行う。
【0004】
特許文献1には、ディスクリプタが連続的に配置されたディスクリプタテーブルや、ディスクリプタが離散的に配置されたディスクリプタチェーンがメモリ上に格納された構成が開示されている。
【0005】
しかし、矩形領域の増加に伴い、ディスクリプタを格納するためのメモリ領域が増加し、また、ディスクリプタの読み出しも必要となるのでメモリ帯域を圧迫しパフォーマンスが低下する。これを解決するためには、メモリの動作周波数を上げることが考えられるが、動作周波数を上げると消費電力が増加するという問題がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−293800号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は上記のような問題を解決するためになされたものであり、ディスクリプタを格納するためのメモリ領域の削減およびディスクリプタの読み出しに伴うメモリ帯域の圧迫を抑制することが可能なメモリデータの転送技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るメモリデータ処理装置の第1の態様は、メモリから矩形データを読み出すメモリデータ処理装置であって、前記メモリとの間のデータ転送を直接に行うデータ転送制御装置と、前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出すデータ/アドレス制御モジュールと、を備え、前記データ/アドレス制御モジュールは、前記データ転送制御装置を介して前記メモリから前記トリミング領域のデータを読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した1つの領域であって、前記矩形データの水平方向の1行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出す
【0010】
本発明に係るメモリデータ処理装置の第の態様は、前記データ/アドレス制御モジュールが、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合に、前記トリミング領域内に収まるようにバンク領域を変更する。
【0011】
本発明に係るメモリデータ処理装置の第の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ/アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合、前記開始アドレスおよび前記終了アドレスのうち、前記マスク領域にある方のアドレスを、前記トリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する。
【0012】
本発明に係るメモリデータ処理装置の第の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ/アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスを、それぞれ、前記トリミング領域の前記走査ライン上の一方の端部のアドレスおよび他方の端部のアドレスに置き換えることで前記バンク領域を変更する。
本発明に係るメモリデータ処理装置の第5の態様は、前記データ/アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、それぞれの前記トリミング領域内に収まるようにバンク領域を変更する。
【0013】
本発明に係るメモリデータ処理装置の第6の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ/アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンクが複数の前記トリミング領域を横断する場合、前記開始アドレスおよび前記終了アドレスのうち、1つのトリミング領域側の前記マスク領域にある方のアドレスを前記1つのトリミング領域の前記走査ライン上の一方の端部のアドレスに置き換え、他のトリミング領域側の前記マスク領域にある方のアドレスを前記1つのトリミング領域の前記走査ライン上の他方の端部のアドレスに置き換えることで前記バンク領域を変更する。
【0014】
本発明に係るメモリデータ処理装置の第7の態様は、前記バンクが、前記矩形データの走査ラインに沿って延在し、開始アドレスと終了アドレスとによって、前記バンク領域が一次元的に規定され、前記データ/アドレス制御モジュールは、前記マスク領域と前記トリミング領域の両方に跨るように前記バンクが存在する場合であって、前記バンク領域が複数の前記トリミング領域間に渡る場合、前記開始アドレスおよび前記終了アドレスのうち、1つの領域にある方のアドレスを他のトリミング領域の前記走査ライン上の端部のアドレスに置き換えることで前記バンク領域を変更する。
【0015】
本発明に係るメモリデータ処理装置の第8の態様は、前記矩形データが、第1の矩形データと第2の矩形データとを含み、前記メモリデータ処理装置は、前記メモリから読み出した前記第1の矩形データおよび前記第2の矩形データを1つの矩形データに合成する合成モジュールをさらに備え、前記データ/アドレス制御モジュールは、前記合成モジュールと前記データ転送制御装置との間に接続され、前記トリミング領域のデータおよび前記ダミーデータを前記合成モジュールに与え、前記データ/アドレス制御モジュールは、前記第2の矩形データのうち有意な情報が存在する領域として前記トリミング領域を定義し、有意な情報が存在しない領域を前記マスク領域として定義する。
【0016】
本発明に係るメモリデータ転送方法の態様は、メモリから矩形データを読み出して転送するメモリデータ転送方法であって、前記矩形データのうちオフセットアドレスと水平サイズおよび垂直サイズに基づいて規定されるトリミング領域に対応するデータのみを前記メモリから読み出し、前記トリミング領域以外はマスク領域として前記メモリからのデータの読み出しを行わず、ダミーデータを生成して出力し、前記矩形データを複数の領域に等分割した1つの領域であって、前記矩形データの水平方向の1行分よりも小さい領域で規定されるバンクが、前記トリミング領域にあるか前記マスク領域にあるかを前記バンクごとに判断し、前記バンクが前記トリミング領域にある場合にのみ、当該バンク内のアドレスに対応するデータを前記メモリから読み出す

【発明の効果】
【0017】
オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すので、ディスクリプタが不要となり、ディスクリプタの格納に伴うメモリ領域の増加およびディスクリプタの読み出しに伴うメモリ帯域の圧迫を抑制することができる。
【図面の簡単な説明】
【0018】
図1】ディスクリプタを用いたDMA転送を説明する模式図である。
図2】ディスクリプタを用いたDMA転送を説明する模式図である。
図3】本発明の技術思想を説明するための模式図である。
図4】矩形データにおけるバンク位置の一例を示す図である。
図5】矩形データにおけるバンク位置の一例を示す図である。
図6】バンク領域の変更例を説明する図である。
図7】バンク領域の変更例を説明する図である。
図8】バンク領域の変更例を説明する図である。
図9】バンク領域の変更例を説明する図である。
図10】バンク領域の変更例を説明する図である。
図11】本発明に係る実施の形態のメモリデータ処理装置の構成を示すブロック図である。
図12】本発明に係る実施の形態のメモリデータ処理装置で使用される各種の信号とその名称を示す図である。
図13】バンクのアドレスの決定動作を説明するフローチャートである。
図14】ダミーデータの生成動作を説明するフローチャートである。
図15】ダミーデータの生成動作を説明するタイミングチャートである。
【発明を実施するための形態】
【0019】
<はじめに>
本発明に係る実施の形態の説明に先立って、図1および図2を用いて、ディスクリプタを用いたDMA転送について説明する。
【0020】
図1は、メモリに格納され、展開することで矩形状をなす矩形データDTから矩形領域R1およびR2のデータを走査線に従って読み出す動作を模式的に示す図である。図1に示すように、矩形データDTの垂直方向において互いに一部がオーバーラップした矩形領域R1およびR2のデータを、水平方向の走査線に従って読み出す場合、矩形領域R1において1回目〜3回目の走査を行った後は、矩形領域R2において4回目の走査を行い、次に、矩形領域R1において5回目の走査を行う。その後、矩形領域R2において6回目〜8回目の走査を行うことで矩形領域R1およびR2のデータの読み出しが完了する。
【0021】
このようなデータの読み出しを行う場合、ディスクリプタを用いたDMA転送では、図2に示されるように、メモリMR内に読み出し手順を記載したディスクリプタDSを準備しておき、DMAコントローラ(DMAC)40がディスクリプタDSを読み出し、読み出したディスクリプタDSに従って矩形データDTから矩形領域R1およびR2のデータを読み出す。
【0022】
これに対して本発明に係るメモリデータ処理装置では、オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すという新規な技術思想に基づいた発明である。
【0023】
<実施の形態>
図3は、本発明の技術思想を説明するための模式図であり、矩形状に展開された矩形データOR(第2の矩形データ)を、有意な情報が存在する矩形のトリミング領域RA0、RA1、RA2およびRA3と、有意な情報が存在しないマスク領域MAとに分けて示している。なお、図3では4つのトリミング領域を設定した例を示したが、これに限定されるものではない。なお、「有意な情報」とは、矩形データORとは別の矩形データ(第1の矩形データ)を矩形データORと合成した場合に、当該別の矩形データとは重ならない部分の情報である。
【0024】
従来のDMA転送では、矩形データ全体を「バンク」と呼称し、バンクの開始アドレスと終了アドレスで規定されるバンクの全てのデータをメモリから読み出すが、先に説明しSたように、本発明では、有意な情報が存在しない領域のデータについてはメモリからのデータの読み出しは行わないので、「バンク」の概念が従来のDMA転送とは異なっている。
【0025】
すなわち、図3においては矩形データORがDMA転送の対象となる領域であり、図に向かって左上角部が開始アドレスSTART_ADRS_xであり、右下角部が終了アドレスEND_ADRS_xとなっており、従来のDMA転送では、これらのアドレスが指定されると、開始アドレスSTART_ADRS_xから右側(走査ラインの走査方向)に向かってデータが読み出され、右端に達すると、1データ分下に下がり、左端から右側に向かってデータを読み出すという動作を終了アドレスEND_ADRS_xに至るまで繰り返す。
【0026】
しかし、本発明では、図3に符号BKを付して示すように、矩形データORを、複数の領域に等分割した1つの領域としてバンクを規定している。このように、矩形データORを微少なバンクBKで分割することで、有意な情報が存在する領域のデータのみを読み出すトリミング処理が可能となる。
【0027】
すなわち、矩形データORをバンクBK単位で区分し、マスク領域MAに該当する位置のバンクBKについてはメモリからのデータの読み出しを行わず、トリミング領域RA0〜RA3に該当する位置のバンクBKについてはメモリからのデータの読み出しを行うようにする。これによりトリミング処理が可能となる。
【0028】
図3に示すように、トリミング領域RA0〜RA3のそれぞれは、開始アドレス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を有している。なお、トリミング領域の水平サイズおよびトリミング領域の垂直サイズを0に設定すると、その領域のデータは読み出されない。
【0029】
このように、各トリミング領域は、開始アドレスからのオフセットアドレスを起点として、トリミング領域の水平サイズおよびトリミング領域の垂直サイズによって領域が規定されるので、トリミング領域内にバンクBKが存在するか否かで、メモリからのデータの読み出しを行うか否かが決定される。
【0030】
例えば、図4は、マスク領域MAに該当する位置にバンクBKがある場合を模式的に示しており、開始アドレスCORE_START_ADRSと終了アドレスCORE_END_ADRSとでバンクBKの領域が一次元的に規定されている。図4の場合は、バンクBKがトリミング領域RAの近傍のマスク領域MAにあるので、当該バンクBKで規定される領域内についてはメモリからのデータの読み出しは行わない。
【0031】
一方、図5は、トリミング領域RA内にバンクBKがある場合を模式的に示しており、開始アドレスCORE_START_ADRSおよび終了アドレスCORE_END_ADRSを、それぞれバスインターフェースでの転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSとし、当該バンクBKで規定される領域内についてメモリからのデータの読み出しを行う。
【0032】
ただし、トリミング領域は必ずしもバンクBKのサイズに合わせて決定されるものではない。従って、マスク領域とトリミング領域の両方に跨るようにバンクBKが存在する場合がある。
【0033】
このように、マスク領域とトリミング領域の両方に跨るようにバンクBKが存在する場合は、バンクBKの領域(バンク領域)を変更して対処するが、以下、そのバリエーションについて説明する。
【0034】
<バンク領域変更のバリエーション>
図6は、マスク領域MAとトリミング領域RAの両方に跨るようにバンクBKが存在する場合であって、開始アドレスCORE_START_ADRSがマスク領域MAにあり、終了アドレスCORE_END_ADRSがトリミング領域RAにある場合を示している。
【0035】
このような場合は、バンクBKの開始アドレスを同じ走査ライン上のトリミング領域RAの左端のアドレスに置き換えて、バスインターフェースでの転送開始アドレスBUS_START_ADRSとし、終了アドレスCORE_END_ADRSを転送終了アドレスBUS_END_ADRSとすることで、バンクBKの領域を変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。
【0036】
また、図7は、マスク領域MAとトリミング領域RAの両方に跨るようにバンクBKが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域RAにあり、終了アドレスCORE_END_ADRSがマスク領域MAにある場合を示している。
【0037】
このような場合は、バンクBKの終了アドレスを同じ走査ライン上のトリミング領域RAの右端のアドレスに置き換えて、バスインターフェースでの転送終了アドレスBUS_END_ADRSとし、開始アドレスCORE_START_ADRSを転送開始アドレスBUS_START_ADRSとすることで、バンクBKの領域を変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。
【0038】
また、図8は、マスク領域MAとトリミング領域RAの両方に跨るようにバンクBKが存在する場合であって、開始アドレスCORE_START_ADRSがマスク領域MAにあり、終了アドレスCORE_END_ADRSもマスク領域MAにある場合を示している。
【0039】
このような場合は、バンクBKの開始アドレスを同じ走査ライン上のトリミング領域RAの左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域RAの右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクBKの領域を変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。
【0040】
また、図9は、マスク領域MAと、間を開けて並列する2つのトリミング領域RA10およびRA11に跨るようにバンクBKが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域RA10側のマスク領域MAにあり、終了アドレスCORE_END_ADRSがトリミング領域RA11側のマスク領域MAにあり、トリミング領域RA10とA11との間にマスク領域MAが挟まれている場合を示している。
【0041】
このような場合は、1回のアドレス書き込みリクエストCORE_ADRS_REQ(後に説明)を2つに分割して2つのバンクを作るものとし、一方のバンクBKの開始アドレスを同じ走査ライン上のトリミング領域RA10の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域RA10の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクBKの領域をトリミング領域RA10内に収まるように変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。
【0042】
また、他方のバンクBKの開始アドレスを同じ走査ライン上のトリミング領域RA11の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとすると共に、終了アドレスを同じ走査ライン上のトリミング領域RA11の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとすることで、バンクBKの領域をトリミング領域RA11内に収まるように変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。この変更処理は、3つ以上のトリミング領域に跨るようにバンクBKが存在する場合でも同様に対応できる。
【0043】
また、図10は、マスク領域MAと、間を開けて並列する2つのトリミング領域RA20およびRA21に跨るようにバンクBKが存在する場合であって、開始アドレスCORE_START_ADRSがトリミング領域RA20内にあり、終了アドレスCORE_END_ADRSがトリミング領域RA21内にあり、トリミング領域RA20とA21との間にマスク領域MAが挟まれている場合を示している。
【0044】
このような場合は、1回のアドレス書き込みリクエストCORE_ADRS_REQ(後に説明)を2つに分割して2つのバンクを作るものとし、一方のバンクBKについては終了アドレスを同じ走査ライン上で向かって左側となるトリミング領域RA20の右端のアドレスに置き換えてバスインターフェースでの転送終了アドレスBUS_END_ADRSとし、開始アドレスCORE_START_ADRSを転送開始アドレスBUS_START_ADRSとすることで、バンクBKの領域を変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。また、他方のバンクBKについては開始アドレスを同じ走査ライン上で向かって右側となるトリミング領域RA21の左端のアドレスに置き換えてバスインターフェースでの転送開始アドレスBUS_START_ADRSとし、終了アドレスを転送終了アドレスBUS_END_ADRSとすることで、バンクBKの領域を変更し、変更後のバンクBKで規定される領域内についてメモリからのデータの読み出しを行う。この変更処理は、3つ以上のトリミング領域に跨るようにバンクBKが存在する場合でも同様に対応できる。
【0045】
<装置構成>
図11は本発明に係る実施の形態のメモリデータ処理装置100の構成を示すブロック図である。図11に示すようにメモリデータ処理装置100は、データ/アドレス制御モジュール1と、DMAC2と、合成モジュール3とを主たる構成として備えている。
【0046】
DMAC2は、合成モジュール3とメモリ4との間のデータ転送をCPU5を介さずに直接に行うデータ転送制御装置であり、データ/アドレス制御モジュール1は、DMAC2と合成モジュール3との間に設けられている。
【0047】
データ/アドレス制御モジュール1は、先に説明したトリミング処理を行う部位であり、トリミングアドレス生成ブロック11、ダミーデータ挿入ブロック12、先入れ先出しメモリ(FIFO)13およびレジスタ14を有している。
【0048】
合成モジュール3は、アドレス演算ブロック31とFIFO32とを有し、アドレス演算ブロック31からは、バンク開始アドレスCURBANK_START_ADRS、バンク終了アドレスCURBANK_END_ADRS、アドレス書き込みリクエストCORE_ADRS_REQ、転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRSが、データ/アドレス制御モジュール1のトリミングアドレス生成ブロック11に与えられる。また、バンク開始アドレスおよびバンク終了アドレスは、データ/アドレス制御モジュール1のダミーデータ挿入ブロック12にも与えられる。
【0049】
ここで、バンク開始アドレスCURBANK_START_ADRSおよびバンク終了アドレスCURBANK_END_ADRSは、矩形データの開始アドレスと終了アドレスとを規定している。
【0050】
また、アドレス書き込みリクエスト、転送開始アドレスおよび転送終了アドレスはFIFO32にも与えられる。また、FIFO32には、トリミングアドレス生成ブロック11からアドレス書き込みリクエスト受付完了信号CORE_FIFO_REQが与えられる。
【0051】
なお、バンク開始アドレス、バンク終了アドレス、アドレス書き込みリクエスト、転送開始アドレス、転送終了アドレスおよびアドレス書き込みリクエスト受付完了信号は、コアアドレスインターフェース(I/F)93を構成している。
【0052】
なお、合成モジュール3は、メモリ4から読み出した矩形データ、すなわち第1および第2の矩形データを合成するので、アドレス演算ブロック31およびFIFO32意外にも合成処理のための構成を有しているが、合成処理自体は従来的な技術であるので図示は省略している。
【0053】
データ/アドレス制御モジュール1のダミーデータ挿入ブロック12には、FIFO32からリードデータリクエストCORE_RD_REQおよび要求量読み出し完了信号CORE_RD_ENDが与えられ、FIFO32には、ダミーデータ挿入ブロック12からリードデータ有効信号CORE_RD_VALおよびリードデータCORE_RD_DATAが与えられる。
【0054】
なお、リードデータリクエスト、要求量読み出し完了信号、リードデータ有効信号およびリードデータはコアデータI/F94を構成している。
【0055】
データ/アドレス制御モジュール1のトリミングアドレス生成ブロック11からは、DMAC2に対してアドレス書き込みリクエストBUS_ADRS_REQ、転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSが与えられ、DMAC2からアドレス書き込みリクエスト受付完了信号BUS_FIFO_REQが与えられる。
【0056】
なお、アドレス書き込みリクエスト、転送開始アドレス、転送終了アドレスおよびアドレス書き込みリクエスト受付完了信号はバスアドレスI/F91を構成している。
【0057】
データ/アドレス制御モジュール1のダミーデータ挿入ブロック12からは、DMAC2に対してリードデータリクエストBUS_RD_REQおよび要求量読み出し完了信号BUS_RD_ENDを与え、DMAC2からリードデータ有効信号BUS_RD_VALおよびリードデータBUS_RD_DATAが与えられる。
【0058】
なお、リードデータリクエスト、要求量読み出し完了信号、リードデータ有効信号およびリードデータは、バスデータI/F92を構成している。
【0059】
データ/アドレス制御モジュール1のレジスタ14には、CPU5から、トリミングモードイネーブル信号TRIM_EN、有効領域水平HサイズVAL_HSIZE、トリミング領域x(xは図3のトリミング領域の番号の数値に対応)の開始オフセットアドレスTRIM_OFSADRS_x、トリミング領域xの水平サイズTRIM_HSIZE_x、トリミング領域xの垂直サイズTRIM_VSIZE_xおよびダミーデータ(透過データ)DMY_DATAが与えられる。
【0060】
なお、トリミングモードイネーブル信号、有効領域水平サイズ、トリミング領域xの開始オフセットアドレス、トリミング領域xの水平サイズ、トリミング領域xの垂直サイズおよびダミーデータはレジスタI/F95を構成している。また、レジスタI/F95はDMAC2にも接続されている。
【0061】
レジスタ14は、レジスタI/F95を介して与えられたトリミング領域に関する情報をトリミングアドレス生成ブロック11に与え、また、ダミーデータをダミーデータ挿入ブロック12に与える。
【0062】
トリミングアドレス生成ブロック11とダミーデータ挿入ブロック12との間のFIFO13では、レジスタI/F95を介して与えられたトリミング領域に関する情報に基づいて、トリミングアドレス生成ブロック11で作成されたアドレスのデータが与えられ、マスク領域である場合は、その情報がダミーデータ挿入ブロック12に与えられる。
【0063】
図12には、以上説明したメモリデータ処理装置100で使用される各種の信号とその名称の一覧を示す。
【0064】
<バンクアドレスの決定動作>
次に、図4図10を用いて説明した種々のバンクのアドレスの決定動作について、図11を参照しつつ図13に示すフローチャートを用いて説明する。
【0065】
図11に示すメモリデータ処理装置100においては、通常のDMA動作では、DMA転送の対象となる矩形データの全てのデータをメモリから読み出す通常モードとなっているが、CPU5からレジスタI/F95を介して与えられる、トリミングモードイネーブル信号TRIM_ENが、例えば「1」になってイネーブルとなり、かつ、合成モジュール3のアドレス演算ブロック31からデータ/アドレス制御モジュール1に対して、バンクの転送開始アドレスCORE_START_ADRS(CSA)および転送終了アドレスCORE_END_ADR(CEA)が与えられることで、DMA転送が要求されると、トリミングモードに切り替わる(ステップS1)。
【0066】
CSAおよびCEAを受けたトリミングアドレス生成ブロック11では、レジスタI/F95を介して与えられたトリミング領域に関する情報に基づいて、対象となっているバンクのCSAおよびCEAの何れかがトリミング領域に含まれているか否かを判断する(ステップS2)。
【0067】
ステップS2で、CSAおよびCEAの何れかがトリミング領域に含まれていると判断された場合はステップS3に進むが、どちらもトリミング領域に含まれていない場合はDMAC2に対するDMA転送を要求しないものとしてステップS1に戻り、合成モジュール3からの次のDMA転送の要求を待つ。この場合、バンクがマスク領域に存在する場合であるので、バンク変更動作は行なわない。
【0068】
ステップS3では、CSAがトリミング領域に含まれているか否かを判断し、CSAがトリミング領域に含まれていると判断される場合はステップS4に進み、そうでない場合にはステップS10に進む。
【0069】
ステップS4では、CSA(開始アドレスCORE_START_ADRS)をBSA(転送開始アドレスBUS_START_ADRS)としてステップS5に進む。
【0070】
ステップS5では、CEAがトリミング領域に含まれているか否かを判断し、CEAがトリミング領域に含まれていると判断される場合はステップS6に進み、そうでない場合にはステップS11に進む。
【0071】
ステップS6では、CEA(終了アドレスCORE_END_ADRS)をBEA(転送終了アドレスBUS_END_ADRS)としてステップS7に進む。
【0072】
上述したステップS4〜S6の処理を経ることで、図5を用いて説明したようにトリミング領域内にバンクがある場合のバンクの開始アドレスおよび終了アドレスを決定できると共に、バンクのデータサイズを決定できる。
【0073】
ステップS7では、トリミングアドレス生成ブロック11がBSAおよびBEAをDMAC2に送信することでDMA転送を要求すると共に、アドレス書き込みリクエストBUS_ADRS_REQを送信して、バンクに含まれるトリミング領域のデータの読み出しを要求する。データの読み出しの要求を受けたDMAC2は、要求を受け付けたことを示すアドレス書き込みリクエスト受付完了信号BUS_FIFO_REQをトリミングアドレス生成ブロック11に与え、それを受けたトリミングアドレス生成ブロック11は、アドレス書き込みリクエスト受付完了信号CORE_FIFO_REQとしてFIFO32に与える。
【0074】
その後、ステップS8において、トリミングアドレス生成ブロック11で決定されたバンクの開始アドレス、終了アドレスおよびバンクのデータサイズなどのDMAC2に読み出しを要求したリクエスト情報をFIFO13に格納する。なお、ステップS2において、判断対象となっているバンクのCSAおよびCEAのどちらもトリミング領域に含まれていないと判断された場合は、DMAC2に対するDMA転送は要求しないが、当該バンクのCSAおよびCEAは、当該バンクがマスク領域にあるというマスク領域情報としてデータサイズと共にFIFO13に格納する。
【0075】
ステップS7でDMA転送を要求し、アドレス書き込みリクエストBUS_ADRS_REQを送信した後は、ダミーデータ挿入ブロック12が、FIFO32からリードデータリクエストCORE_RD_REQを受けてDMAC2に対してリードデータリクエストBUS_RD_REQを与えることで、DMAC2がメモリ4からBSAおよびBEAで規定されるバンクに対応するトリミング領域のデータを読み出し(DMA転送)、リードデータBUS_RD_DATAとしてダミーデータ挿入ブロック12に与えると共に、当該リードデータを有効なデータとするためのリードデータ有効信号BUS_RD_VALもダミーデータ挿入ブロック12に与える。
【0076】
ダミーデータ挿入ブロック12では、リードデータBUS_RD_DATAおよびリードデータ有効信号BUS_RD_VALを、それぞれリードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALとしてFIFO32に与える。
【0077】
FIFO32は、リードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALを受け取ると、要求したデータの読み出しが完了したことを示す要求量読み出し完了信号CORE_RD_ENDをダミーデータ挿入ブロック12に与え、それを受けたダミーデータ挿入ブロック12が要求量読み出し完了信号BUS_RD_ENDをDMAC2に与えることで1つのバンクに含まれるトリミング領域のデータのDMA転送が終了する。
【0078】
ステップS9では、DMA転送の対象となる矩形データの全てのバンクに対するDMA転送が終了した否かを判断し、終了している場合には当該矩形データに対するDMA転送動作を終了し、そうでない場合はステップS1以下の処理を繰り返す。なお、マスク領域のバンクに対応するデータは読み出さないが、当該バンクについてもステップS1以下の処理を行っているのでDMA転送したものとして扱う。
【0079】
なお、以上の説明は、図5を用いて説明したようにトリミング領域内にバンクがある場合のバンクアドレスの決定動作であったが、次に、図6図10を用いて説明したようなバンクを変更する場合のバンクアドレスの決定動作について説明する。
【0080】
図6の例>
ステップS3においてCSAがトリミング領域に含まれていないと判断される場合、すなわちCSAがマスク領域に存在する図6のような場合は、ステップS10において、CEAと同じ走査ライン上のトリミング領域の先端のアドレスを取得し、それをCSAとして置き換えてBSA(転送開始アドレスBUS_START_ADRS)とする。
【0081】
この後、ステップS5において、CEAがトリミング領域に含まれているか否かを判断し、CEAがトリミング領域に含まれていると判断される場合はステップS6に進む。なお、ステップS10を通った場合はCEAはトリミング領域に含まれるのでステップS6に進むこととなる。
【0082】
ステップS6では、CEA(終了アドレスCORE_END_ADRS)をBEA(転送終了アドレスBUS_END_ADRS)としてステップS7に進む。以下の処理の説明は省略する。
【0083】
図7の例>
一方、ステップS3においてCSAがトリミング領域に含まれていると判断された場合、すなわちCEAがマスク領域に存在する図7のような場合は、ステップS4においてCSA(開始アドレスCORE_START_ADRS)をBSA(転送開始アドレスBUS_START_ADRS)としてステップS5に進む。
【0084】
ステップS5では、CEAがトリミング領域に含まれているか否かを判断し、CEAがトリミング領域に含まれていないと判断される場合にはステップS11に進む。
【0085】
ステップS11では、CSAと同じ走査ライン上のトリミング領域の終端のアドレスを取得し、それをCEAとして置き換えてBEA(転送終了アドレスBUS_END_ADRS)としてステップS7に進む。以下の処理の説明は省略する。
【0086】
なお、図8および図9を用いて説明したようなバンク配置の場合、すなわちCSAおよびCEAの両方がマスク領域にある場合と、図10を用いて説明したようなバンク配置の場合、すなわちCSAおよびCEAの両方がトリミング領域にある場合は見分けがつかないので、図13に示したフローチャートにおいて、例えば、ステップS1とS2との間に、対象となるバンクがトリミング領域を跨ぐように配置されているか否かを判断するステップを設け、トリミング領域を跨いでいる場合には、跨いでいるトリミング領域の個数に合わせてステップS2〜ステップS11の処理を繰り返すようにすれば良い。
【0087】
この場合、トリミングアドレス生成ブロック11がアドレス演算ブロック31から受けた1回のアドレス書き込みリクエストCORE_ADRS_REQでアドレス書き込みリクエストBUS_ADRS_REQを複数回DMAC2に与えるようにすれば良い。
【0088】
<ダミーデータの生成動作>
次に、ダミーデータ挿入ブロック12におけるダミーデータの生成動作について、図11を参照しつつ図14に示すフローチャートを用いて説明する。
【0089】
ダミーデータ挿入ブロック12では、FIFO13に格納されたバンクの開始アドレス、終了アドレスおよびバンクのデータサイズなどのリクエスト情報に基づいて、読み出しデータに対応するアドレスを計算する。また、FIFO13には、リクエスト情報の代わりに、バンクがマスク領域に存在する場合の当該バンクのCSAおよびCEAおよびデータサイズなどのマスク領域情報も格納されている場合もあり、その場合は当該マスク領域情報に基づいてダミーデータに対応するアドレスを計算する。
【0090】
そのため、まず、FIFO13からリクエスト情報またはマスク領域情報を取り出す(ステップS21)。
【0091】
そして、ステップS22においてFIFO13から読み出した情報に基づいて、処理対象のバンクがトリミング領域にあるのか、マスク領域にあるのかを判断し、トリミング領域にあると判断される場合にはステップS23に進み、マスク領域にあると判断される場合にはステップS24に進む。
【0092】
ステップS23では、ダミーデータ挿入ブロック12が、DMAC2に対してリードデータリクエストBUS_RD_REQをDMAC2に与えることで、DMAC2がメモリ4からBSAおよびBEAで規定されるバンクに対応するトリミング領域のデータを読み出し、リードデータBUS_RD_DATA(BRD)としてダミーデータ挿入ブロック12に与える。ダミーデータ挿入ブロック12では、受信したBRDをリードデータCORE_RD_DATA(CRD)として合成モジュール3のFIFO32に送信する。
【0093】
一方、ステップS24では、FIFO13から取り出したバンクのデータサイズ分の透過データをダミーデータDMY_DATとして作成して合成モジュール3のFIFO32に送信する。
【0094】
なお、ステップS24の処理は図13を用いて説明したステップS7以降のDMA転送動作に対応するので詳細な説明は省略する。
【0095】
処理対象のバンクに対して、ステップS23のDMA転送動作またはステップS24のダミーデータ送信動作が終了すると、DMA転送の対象となる矩形データの全てのバンクに対するDMA転送が終了した否かを判断し、終了している場合には当該矩形データに対するDMA転送動作を終了し、そうでない場合はステップS21以下の処理を繰り返す。なお、マスク領域のバンクに対応するデータは読み出さないが、当該バンクについてはダミーデータを作成して送信しているので、DMA転送したものとして扱う。
【0096】
図15は、トリミングアドレス生成ブロック11におけるバンクアドレスの決定からダミーデータ挿入ブロック12におけるダミーデータの生成までの一連の動作を説明するタイミングチャートである。
【0097】
図15に示すように、アドレス演算ブロック31からトリミングアドレス生成ブロック11に与えられるバンク開始アドレスCURBANK_START_ADRSおよびバンク終了アドレスCURBANK_END_ADRSにより、1つの矩形データのアドレスが規定される。
【0098】
ここで、図15においては1つの矩形データの読み出し期間を、例えば、矩形データ0期間、矩形データ1期間と記載している。
【0099】
図15においては、矩形データ0期間において、トリミング領域にあるバンクA0およびマスク領域にあるバンクA1の転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRが決定され、矩形データ1期間において、トリミング領域にあるバンクA2の転送開始アドレスCORE_START_ADRS、転送終了アドレスCORE_END_ADRが決定される例を示している。
【0100】
なお、バンクアドレスの決定は、アドレス書き込みリクエストCORE_ADRS_REQが「High」になっている期間に行われ、アドレス書き込みリクエストBUS_ADRS_REQが「High」になっている期間に、転送開始アドレスBUS_START_ADRSおよび転送終了アドレスBUS_END_ADRSをDMAC2に与えて、バンクA0およびバンクA2の領域に対応するデータの読み出しを要求する。なお、マスク領域に存在するバンクA1の領域に対応するデータについては読み出しは要求しない。
【0101】
トリミング領域にあるバンクについてデータの読み出しを要求した後、ダミーデータ挿入ブロック12が、DMAC2に対してリードデータリクエストBUS_RD_REQをDMAC2に与えることで、DMAC2がリードデータ有効信号BUS_RD_VALと共にリードデータBUS_RD_DATAを出力する。なお、リードデータ有効信号BUS_RD_VALはリードデータリクエストBUS_RD_REQが与えられている期間に出力され、リードデータリクエストBUS_RD_REQは、FIFO32からリードデータリクエストCORE_RD_REQが与えられている期間に出力される。
【0102】
図15においては、リードデータ有効信号BUS_RD_VALが与えられている期間に、バンクA0の領域に対応するデータとしてデータD0〜D3が読み出され、バンクA2の領域に対応するデータとしてデータD4〜D7が読み出される例が示されている。
【0103】
ダミーデータ挿入ブロック12では、DMAC2から与えられるリードデータ有効信号BUS_RD_VALをリードデータ有効信号CORE_RD_VALとしてFIFO32に与えるが、その際、ダミーデータを出力する場合にはリードデータ有効信号CORE_RD_VALの期間をダミーデータを出力し終わるまで延長してFIFO32に与える。
【0104】
FIFO32は、リードデータCORE_RD_DATAおよびリードデータ有効信号CORE_RD_VALを受け取ると、要求したデータの読み出しが完了したことを示す要求量読み出し完了信号CORE_RD_ENDをダミーデータ挿入ブロック12に与え、それを受けたダミーデータ挿入ブロック12が要求量読み出し完了信号BUS_RD_ENDをDMAC2に与える。
【0105】
なお、図15では、ダミーデータDDの出力が終わった場合にも要求量読み出し完了信号CORE_RD_ENDがダミーデータ挿入ブロック12に与えられること示しているが、この場合は要求量読み出し完了信号BUS_RD_ENDは出力されない。
【0106】
以上説明したように、本発明に係るメモリデータ処理装置100においては、オフセットアドレスと水平サイズおよび垂直サイズでトリミング領域を規定し、そのデータのみを読み出すので、ディスクリプタが不要となり、メモリ領域を削減することが可能となる。
【0107】
また、1つの矩形データを、複数の領域に等分割した1つの領域としてバンクを規定し、当該バンクごとにトリミング領域にあるかマスク領域にあるかを判断するので、有意な情報が存在するトリミング領域に対応するデータのみをメモリから読み出すことができる。
【0108】
このため、DMAC2がメモリ4にアクセスする回数を低減でき、メモリ帯域の圧迫によるパフォーマンスの低下を、メモリの動作周波数を上げることなく抑制することが可能となる。
【0109】
また、メモリ領域の削減およびメモリ帯域の圧迫の解消は消費電力の削減にも繋がる。
【0110】
以上説明した実施の形態においては、画像の重ね合わせ(矩形データの合成)に本発明を適用する場合について説明したが、単に、画像データの一部をトリミングしたい場合にも本発明は適用可能である。
【0111】
例えば、外部メモリからトリミング領域のデータを「有意な情報」として読み出し、トリミング領域のデータを画像処理モジュールでフィルタ処理にかける場合、データ/アドレス制御モジュールは、外部メモリからトリミング領域のデータ(生データ)を読み出すが、トリミング領域以外の領域はマスク領域としてデータの読み出しを行わず、ダミーデータを生成して出力する。この場合、画像処理モジュール側では、生データは処理対象のデータとし、ダミーデータは処理不要のデータとして扱うことで、トリミング領域のデータのみをフィルタ処理にかけることができ、データ処理速度を高めることができる。
【0112】
また、本発明は、主画像とオンスクリーンディスプレイ用の画像(OSD画像)との重ね合わせを行うGDU(graphic display unit)への適用や、写真データ等の画像から画像を切り出す場合にも適用可能である。すなわち、写真データ等の画像のうち、切り出したい箇所を有意な情報とし、それ以外の箇所はマスク領域としてダミーデータを生成するような場合にも本発明は適用可能である。要するに、メモリ上のデータであって、アドレスで個別に指定できるデータ(画像)であれば本発明の適用は可能である。
【0113】
また、出力先も、ディスプレイに限定されず、メモリや他の機能ブロックに出力しても良い。
【0114】
また、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【0115】
1 データ/アドレス制御モジュール
2 DMAC
3 合成モジュール
4 メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15