(57)【要約】【課題】ＣＰＵにかかる負荷を小さくしつつもＤＭＡ転送速度を高速にし得るＤＭＡコントローラ（データ転送制御装置）を提供する点にある。【解決手段】レジスタＳＲＥＧ１，ＳＲＥＧ２およびＥＲＥＧ１，ＥＲＥＧ２において主メモリの開始アドレスと終了アドレスの組を２組用意する。セレクタＳＥＬ１，ＳＥＬ２は、主メモリの記憶領域Ａの開始アドレスＡ、終了アドレスＡと記憶領域Ｂの開始アドレスＢ、終了アドレスＢとの間を切り換える。アドレスカウンターＡＣ１は一方の組の開始アドレスを起点として順次増分した宛先アドレスを生成してアービタ４５に出力し、アービタ４５はメモリコントロール回路を制御して主メモリの当該宛先アドレスに対してＤＭＡ転送を実行する。ＣＰＵ１７にかかる負荷が軽減し、ＤＭＡ転送速度が向上する。【選択図】図３
2011103129.tif 000002
【特許請求の範囲】
【請求項１】
撮像センサから出力された画像信号を格納する主メモリと内部モジュール間のバスを介したデータ転送を制御するデータ転送制御装置であって、
前記主メモリにおける複数の記憶領域の各々の開始アドレスと終了アドレスの組を複数格納するレジスタと、
前記複数の組の中から１組の開始アドレスと終了アドレスを選択する選択回路と、
前記選択回路から出力された開始アドレスを起点とし、当該開始アドレスと対をなす終了アドレスに達するまで順次変化する宛先アドレスを生成出力するアドレスカウンターと、
前記主メモリを制御し且つ前記バスを獲得して当該宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュール間でデータ転送を実行させるメモリコントロール回路と、
前記アドレスカウンターで生成された宛先アドレスが前記終了アドレスと一致した時点で、前記複数の組の中から次の１組の開始アドレスと終了アドレスを選択するように前記選択回路を制御するアドレス切換手段と、
を備えることを特徴とするデータ転送制御装置。
【請求項２】
請求項１記載のデータ転送制御装置であって、前記アドレス切換手段は、前記開始アドレスと終了アドレスの組をサイクリック（循環的）に切り換える、データ転送制御装置。
【請求項３】
請求項１または２記載のデータ転送制御装置であって、
前記アドレスカウンターにおける前記宛先アドレスの変化と同期して計数した計数値を算出する計数回路と、
前記計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択する第２の選択回路と、
前記第２の選択回路から出力された前記オフセット値または前記零値と前記アドレスカウンターから出力された宛先アドレスとを加減算した加減算値を前記アドレスカウンターに出力する加減算回路と、を更に備え、
前記計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記加減算値を起点として順次変化する宛先アドレスを生成出力する、データ転送制御装置。
【請求項４】
請求項３記載のデータ転送制御装置であって、
前記アドレスカウンターにおける宛先アドレスの変化と同期して計数した計数値を算出する第２の計数回路と、
前記第２の計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択する第３の選択回路と、
前記第３の選択回路から出力された前記第２のオフセット値または前記零値と請求項３記載の前記加減算回路から出力された前記加減算値とを加減算して前記アドレスカウンターに出力する第２の加減算回路と、
を更に備え、
前記第２の計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記第２の加減算回路から出力された加減算値を起点として順次変化する宛先アドレスを生成する、データ転送制御装置。
【請求項５】
撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介したデータ転送を制御するデータ転送制御装置であって、
前記主メモリの記憶領域の所定のアドレスを起点として順次変化する宛先アドレスを生成出力するアドレスカウンターと、
前記アドレスカウンターにおける前記宛先アドレスの変化と同期して計数した計数値を算出する計数回路と、
前記計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択する選択回路と、
前記選択回路から出力された前記オフセット値または前記零値と前記アドレスカウンターから出力された宛先アドレスとを加減算した加減算値を前記アドレスカウンターに出力する加減算回路と、
前記主メモリを制御し且つ前記バスを獲得して当該宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行させるメモリコントロール回路と、
を備え、
前記計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記加減算値を起点として順次変化する宛先アドレスを生成する、データ転送制御装置。
【請求項６】
請求項５記載のデータ転送制御装置であって、
前記アドレスカウンターにおける宛先アドレスの変化と同期して所定値に達するまで計数した計数値を算出する第２の計数回路と、
前記第２の計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択する第３の選択回路と、
前記第３の選択回路から出力された前記第２のオフセット値または前記零値と請求項５記載の前記加減算回路から出力された前記加減算値とを加減算して前記アドレスカウンターに出力する第２の加減算回路と、
を更に備え、
前記第２の計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記第２の加減算回路から出力された加減算値を起点として順次変化する宛先アドレスを生成する、データ転送制御装置。
【請求項７】
撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介してデータ転送を行うデータ転送方法であって、
（ａ）前記主メモリにおける複数の記憶領域の各々の開始アドレスと終了アドレスの組を複数記憶する工程と、
（ｂ）前記工程（ａ）で記憶した複数の組の中から１組の開始アドレスと終了アドレスを選択する工程と、
（ｃ）前記工程（ｂ）で選択した開始アドレスを起点とし、当該開始アドレスと対をなす終了アドレスに達するまで順次変化する宛先アドレスを生成する工程と、
（ｄ）前記主メモリを制御し且つ前記バスを獲得して前記宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行する工程と、
（ｅ）前記工程（ｃ）で生成された宛先アドレスが前記終了アドレスと一致した時点で、前記工程（ｂ）において前記複数の組の中から次の１組の開始アドレスと終了アドレスを選択し、前記工程（ｃ）および（ｄ）を実行する工程と、
を備えることを特徴とするデータ転送方法。
【請求項８】
請求項７記載のデータ転送方法であって、前記工程（ｅ）において、前記次の１組が前記複数の組の中からサイクリック（循環的）に選択される、データ転送方法。
【請求項９】
請求項７または８記載のデータ転送方法であって、
（ｆ）前記工程（ｃ）で生成される宛先アドレスの変化に同期して計数した計数値を算出する工程と、
（ｇ）前記工程（ｆ）で算出された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択し且つ前記工程（ｆ）の計数値をリセットする工程と、
（ｈ）前記工程（ｇ）で選択した前記零値または前記オフセット値と前記工程（ｃ）で生成した宛先アドレスとを加減算した加減算値を算出する工程と、
を更に備え、
前記工程（ｃ）において、前記工程（ｈ）で算出された加減算値を起点として順次変化する宛先アドレスを生成する、データ転送方法。
【請求項１０】
請求項９記載のデータ転送方法であって、
（ｉ）前記工程（ｃ）で生成される宛先アドレスの変化に同期して計数した第２の計数値を算出する工程と、
（ｊ）前記工程（ｉ）の第２の計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択し且つ前記工程（ｉ）の第２の計数値をリセットする工程と、
（ｋ）前記工程（ｊ）で選択した前記零値または前記第２のオフセット値と前記工程（ｈ）で算出した加減算値とを加算した加減算値を算出する工程と、
を更に備え、
前記工程（ｃ）において、前記工程（ｋ）で算出された加減算値を起点として順次変化する宛先アドレスを生成する、データ転送方法。
【請求項１１】
撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介してデータ転送を行うデータ転送方法であって、
（ｃ−１）前記主メモリの記憶領域の所定のアドレスを起点として順次変化する宛先アドレスを生成する工程と、
（ｆ−１）前記工程（ｃ−１）で生成される宛先アドレスの変化と同期して計数した計数値を算出する工程と、
（ｇ−１）前記工程（ｆ−１）で算出された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択し且つ前記工程（ｆ−１）の計数値をリセットする工程と、
（ｈ−１）前記工程（ｇ−１）で選択した前記零値または前記オフセット値と前記工程（ｃ−１）で生成した宛先アドレスとを加減算した加減算値を算出する工程と、
（ｄ−１）前記主メモリを制御し且つ前記バスを獲得して前記宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行する工程と、
を備え、
前記工程（ｃ−１）において、前記工程（ｈ−１）で算出された加減算値を起点として順次変化する宛先アドレスを生成することを特徴とするデータ転送方法。
【請求項１２】
請求項１１記載のデータ転送方法であって、
（ｉ−１）前記工程（ｃ−１）で生成される宛先アドレスの変化に同期して計数した第２の計数値を算出する工程と、
（ｊ−１）前記工程（ｉ−１）の第２の計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択し且つ前記工程（ｉ−１）の第２の計数値をリセットする工程と、
（ｋ−１）前記工程（ｊ−１）で選択した前記零値または前記第２のオフセット値と前記工程（ｈ−１）で算出した加減算値とを加減算した加減算値を算出する工程と、
を更に備え、
前記工程（ｃ−１）において、前記工程（ｋ−１）で算出された加減算値を起点として順次変化する宛先アドレスを生成する、データ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル・カメラなどの画像処理用集積回路におけるＤＭＡコントローラに関するものである。
【背景技術】
【０００２】
図１１は、一般的なディジタル・スチル・カメラの概略構成図である。図示するように、ディジタル・スチル・カメラ１００では、ＣＣＤ（Charge-Coupled Device）センサやＣＭＯＳセンサなどの撮像センサ１０５で撮像した画像信号はデジタル信号へＡ／Ｄ変換された後に、画像処理部１０６において画素補間処理、色空間変換処理、輪郭強調処理などの種々の画像処理を施される。このような画像処理を施された画像データは間引きされて液晶モニタ１０９などにファインダー表示されたり、ＪＰＥＧ（Joint Photographic Experts Group）方式などで圧縮符号化されて不揮発性メモリなどのメモリカード１１０に格納されたり、インターフェース１１１を介してパーソナル・コンピュータなどの外部機器に出力されたりする。図１１において、符号１０１は光学レンズ、１０２は色補正フィルタ、１０３は光学ＬＰＦ（ローパスフィルタ）、１０４は色フィルタアレイ、１０７は撮像センサ１０５などを駆動制御する駆動部を示している。
【０００３】
撮像センサ１０５をインターレース方式で駆動する場合は、第１フィールドと第２フィールドとを主メモリ１０８に転送し格納した後に、画像処理部１０６は第１および第２フィールドを読み出して上記画素補間処理などの画像処理を施したり、もしくは、第１フィールドを主メモリ１０８に一旦転送し格納した後に画像処理部１０６は、撮像センサ１０５からの第２フィールドの読出しと同期させて主メモリ１０８に格納した第１フィールドを読出したりしていた。この時、主メモリ１０８と画像処理部１０６との間のデータ転送をＤＭＡ（ダイレクト・メモリ・アクセス）方式で実行することで、ＣＰＵ（図示せず）の負荷を軽減させデータを高速転送させて画像処理速度を上げていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＤＭＡ方式では、所定容量の画像データのＤＭＡ転送を１回行う毎に、ＣＰＵはその画像データを格納する主メモリ１０８上の記憶領域の開始アドレスと終了アドレスとを指定する必要があった。よって、画像データを複数回に亘ってＤＭＡ転送する場合は、ｎ回目（ｎ≧１）のＤＭＡ転送時にＤＭＡの宛先アドレスが終了アドレスに達する前に、ＣＰＵはソフトウェア処理により、ｎ＋１回目のＤＭＡ転送時に備えて次の記憶領域の開始アドレスを指定する必要がある。これでは、小容量の画像データを頻繁にＤＭＡ転送したり、画像データを小領域に細かく分けてＤＭＡ転送したりする場合には、ＣＰＵは開始アドレスと終了アドレスとを頻繁に書き換えねばならず、ＣＰＵにかかる負荷は大きくなりデータを高速でＤＭＡ転送するのが困難となるという問題が生じる。
【０００５】
以上の問題に鑑みて本発明が解決しようとするところは、ＣＰＵにかかる負荷を小さくしつつもＤＭＡ転送速度を高速にし得るＤＭＡコントローラ（データ転送制御装置）を提供する点にある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１に係る発明は、撮像センサから出力された画像信号を格納する主メモリと内部モジュール間のバスを介したデータ転送を制御するデータ転送制御装置であって、前記主メモリにおける複数の記憶領域の各々の開始アドレスと終了アドレスの組を複数格納するレジスタと、前記複数の組の中から１組の開始アドレスと終了アドレスを選択する選択回路と、前記選択回路から出力された開始アドレスを起点とし、当該開始アドレスと対をなす終了アドレスに達するまで順次変化する宛先アドレスを生成出力するアドレスカウンターと、前記主メモリを制御し且つ前記バスを獲得して当該宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュール間でデータ転送を実行させるメモリコントロール回路と、前記アドレスカウンターで生成された宛先アドレスが前記終了アドレスと一致した時点で、前記複数の組の中から次の１組の開始アドレスと終了アドレスを選択するように前記選択回路を制御するアドレス切換手段と、を備えることを特徴とするものである。
【０００７】
また請求項２に係る発明は、請求項１記載のデータ転送制御装置であって、前記アドレス切換手段は、前記開始アドレスと終了アドレスの組をサイクリック（循環的）に切り換えるものである。
【０００８】
また請求項３に係る発明は、請求項１または２記載のデータ転送制御装置であって、前記アドレスカウンターにおける前記宛先アドレスの変化と同期して計数した計数値を算出する計数回路と、前記計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択する第２の選択回路と、前記第２の選択回路から出力された前記オフセット値または前記零値と前記アドレスカウンターから出力された宛先アドレスとを加減算した加減算値を前記アドレスカウンターに出力する加減算回路と、を更に備え、前記計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記加減算値を起点として順次変化する宛先アドレスを生成出力するものである。
【０００９】
そして請求項４に係る発明は、請求項３記載のデータ転送制御装置であって、前記アドレスカウンターにおける宛先アドレスの変化と同期して計数した計数値を算出する第２の計数回路と、前記第２の計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択する第３の選択回路と、前記第３の選択回路から出力された前記第２のオフセット値または前記零値と請求項３記載の前記加減算回路から出力された前記加減算値とを加減算して前記アドレスカウンターに出力する第２の加減算回路と、を更に備え、前記第２の計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記第２の加減算回路から出力された加減算値を起点として順次変化する宛先アドレスを生成するものである。
【００１０】
次に請求項５に係る発明は、撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介したデータ転送を制御するデータ転送制御装置であって、前記主メモリの記憶領域の所定のアドレスを起点として順次変化する宛先アドレスを生成出力するアドレスカウンターと、前記アドレスカウンターにおける前記宛先アドレスの変化と同期して計数した計数値を算出する計数回路と、前記計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択する選択回路と、前記選択回路から出力された前記オフセット値または前記零値と前記アドレスカウンターから出力された宛先アドレスとを加減算した加減算値を前記アドレスカウンターに出力する加減算回路と、前記主メモリを制御し且つ前記バスを獲得して当該宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行させるメモリコントロール回路と、を備え、前記計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記加減算値を起点として順次変化する宛先アドレスを生成するものである。
【００１１】
また請求項６に係る発明は、請求項５記載のデータ転送制御装置であって、前記アドレスカウンターにおける宛先アドレスの変化と同期して所定値に達するまで計数した計数値を算出する第２の計数回路と、前記第２の計数回路から出力された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択する第３の選択回路と、前記第３の選択回路から出力された前記第２のオフセット値または前記零値と請求項５記載の前記加減算回路から出力された前記加減算値とを加減算して前記アドレスカウンターに出力する第２の加減算回路と、を更に備え、前記第２の計数回路は当該計数値が前記所定値に達した時点で当該計数値をリセットし、前記アドレスカウンターは前記第２の加減算回路から出力された加減算値を起点として順次変化する宛先アドレスを生成するものである。
【００１２】
次に請求項７に係る発明は、撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介してデータ転送を行うデータ転送方法であって、（ａ）前記主メモリにおける複数の記憶領域の各々の開始アドレスと終了アドレスの組を複数記憶する工程と、（ｂ）前記工程（ａ）で記憶した複数の組の中から１組の開始アドレスと終了アドレスを選択する工程と、（ｃ）前記工程（ｂ）で選択した開始アドレスを起点とし、当該開始アドレスと対をなす終了アドレスに達するまで順次変化する宛先アドレスを生成する工程と、（ｄ）前記主メモリを制御し且つ前記バスを獲得して前記宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行する工程と、（ｅ）前記工程（ｃ）で生成された宛先アドレスが前記終了アドレスと一致した時点で、前記工程（ｂ）において前記複数の組の中から次の１組の開始アドレスと終了アドレスを選択し、前記工程（ｃ）および（ｄ）を実行する工程と、を備えることを特徴とするものである。
【００１３】
また請求項８に係る発明は、請求項７記載のデータ転送方法であって、前記工程（ｅ）において、前記次の１組が前記複数の組の中からサイクリック（循環的）に選択されるものである。
【００１４】
また請求項９に係る発明は、請求項７または８記載のデータ転送方法であって、（ｆ）前記工程（ｃ）で生成される宛先アドレスの変化に同期して計数した計数値を算出する工程と、（ｇ）前記工程（ｆ）で算出された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択し且つ前記工程（ｆ）の計数値をリセットする工程と、（ｈ）前記工程（ｇ）で選択した前記零値または前記オフセット値と前記工程（ｃ）で生成した宛先アドレスとを加減算した加減算値を算出する工程と、を更に備え、前記工程（ｃ）において、前記工程（ｈ）で算出された加減算値を起点として順次変化する宛先アドレスを生成するものである。
【００１５】
そして請求項１０に係る発明は、請求項９記載のデータ転送方法であって、（ｉ）前記工程（ｃ）で生成される宛先アドレスの変化に同期して計数した第２の計数値を算出する工程と、（ｊ）前記工程（ｉ）の第２の計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択し且つ前記工程（ｉ）の第２の計数値をリセットする工程と、（ｋ）前記工程（ｊ）で選択した前記零値または前記第２のオフセット値と前記工程（ｈ）で算出した加減算値とを加算した加減算値を算出する工程と、を更に備え、前記工程（ｃ）において、前記工程（ｋ）で算出された加減算値を起点として順次変化する宛先アドレスを生成するものである。
【００１６】
次に請求項１１に係る発明は、撮像センサから出力された画像信号を格納する主メモリと内部モジュールとの間でバスを介してデータ転送を行うデータ転送方法であって、（ｃ−１）前記主メモリの記憶領域の所定のアドレスを起点として順次変化する宛先アドレスを生成する工程と、（ｆ−１）前記工程（ｃ−１）で生成される宛先アドレスの変化と同期して計数した計数値を算出する工程と、（ｇ−１）前記工程（ｆ−１）で算出された計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点でオフセット値を選択し且つ前記工程（ｆ−１）の計数値をリセットする工程と、（ｈ−１）前記工程（ｇ−１）で選択した前記零値または前記オフセット値と前記工程（ｃ−１）で生成した宛先アドレスとを加減算した加減算値を算出する工程と、（ｄ−１）前記主メモリを制御し且つ前記バスを獲得して前記宛先アドレスに対応する前記主メモリの記憶領域と前記内部モジュールとの間でデータ転送を実行する工程と、を備え、前記工程（ｃ−１）において、前記工程（ｈ−１）で算出された加減算値を起点として順次変化する宛先アドレスを生成することを特徴とするものである。
【００１７】
そして請求項１２に係る発明は、請求項１１記載のデータ転送方法であって、（ｉ−１）前記工程（ｃ−１）で生成される宛先アドレスの変化に同期して計数した第２の計数値を算出する工程と、（ｊ−１）前記工程（ｉ−１）の第２の計数値が所定値に達するまでは零値を選択し、当該計数値が前記所定値に達した時点で第２のオフセット値を選択し且つ前記工程（ｉ−１）の第２の計数値をリセットする工程と、（ｋ−１）前記工程（ｊ−１）で選択した前記零値または前記第２のオフセット値と前記工程（ｈ−１）で算出した加減算値とを加減算した加減算値を算出する工程と、を更に備え、前記工程（ｃ−１）において、前記工程（ｋ−１）で算出された加減算値を起点として順次変化する宛先アドレスを生成するものである。
【発明の効果】
【００１８】
以上の如く、本発明の請求項１に係るデータ転送制御装置および請求項７に係るデータ転送方法によれば、上記開始アドレスと終了アドレスの組が複数用意されており、アドレス切換手段でこれら組を順次選択できるから、ＣＰＵに負荷をかけること無く主メモリ上の複数の記憶領域に対して順次データ転送を実行できる。このため、特に小容量のデータを頻繁にデータ転送してもＣＰＵにかかる負荷を小さく抑制できる。またＣＰＵにかかる負荷が減少する分、ソフトウェア上の画像処理を実行するなどしてＣＰＵを効率的に利用でき、画像データの処理速度を向上させることが可能となる。
【００１９】
また請求項２および請求項８によれば、主メモリ上の複数の記憶領域をサイクリックに利用できるため、主メモリを効率的に利用することができる。またＣＰＵは開始アドレスと終了アドレスの組をサイクリックに切り換える制御信号を生成する必要が無いためＣＰＵにかかる負荷を軽減でき、ＣＰＵを効率的に利用することが可能となる。
【００２０】
また請求項３，５および請求項９，１１によれば、上記所定値およびオフセット値を調整することで、ＣＰＵに負荷をかけること無く主メモリなどに蓄積した画像データを間引きしながらデータ転送することが可能となる。
【００２１】
そして請求項４，６および請求項１０，１２によれば、ＣＰＵに負荷をかけること無く更に細かく画像データを間引きしてデータ転送することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態で用いるディジタル・スチル・カメラの全体構成を示す図である。
【図２】本発明の実施の形態１に係るＤＭＡコントローラの構成を示す図である。
【図３】実施の形態１に係るＤＭＡコントローラのＤＭＡチャンネルの回路構成を示す図である。
【図４】実施の形態１に係るＤＭＡコントローラの転送処理を説明する図である。
【図５】本発明の実施の形態２に係るＤＭＡコントローラのＤＭＡチャンネルの回路構成を示す図である。
【図６】実施の形態２に係るＤＭＡコントローラによる転送処理を説明する図である。
【図７】実施の形態２に係るＤＭＡコントローラによる転送処理を説明する図である。
【図８】本発明の実施の形態３に係るＤＭＡコントローラのＤＭＡチャンネルの回路構成を示す図である。
【図９】実施の形態３に係るＤＭＡコントローラによる転送処理を説明する図である。
【図１０】実施の形態３に係るＤＭＡコントローラによる転送処理を説明する図である。
【図１１】一般的なディジタル・スチル・カメラの概略構成図である。
【発明を実施するための形態】
【００２３】
図１は、本発明の実施の形態で用いるディジタル・スチル・カメラ１の全体構成を示す概略図である。このディジタル・スチル・カメラ１は、ＡＦ（オートフォーカス）機能や自動露出調節機能などを備えた光学機構１１を備えており、この光学機構１１を通じて被写体画像がＣＣＤ（電荷結合素子）センサ１２で撮像される。このとき必要に応じて撮影タイミングに同期され光量を調節された光をストロボ（閃光装置）３０から発して被写体に照射してもよい。撮像した被写体の原画像データはアナログ信号処理回路１３に取り込まれデジタル画像信号にＡ／Ｄ変換される。そのデジタル画像信号はＲＰＵ（リアルタイム・プロセッシング・ユニット）１４において画素補間処理、色空間変換処理、ガンマ補正処理、輪郭補正処理およびフィルタリングなどの所定の画像処理を実時間処理（リアルタイム処理）にて施される。このような画像処理を受けた画像信号はファインダーとして機能するＬＣＤ２３に表示されたり、またはＣＰＵ１７によりＪＰＥＧ方式などによる圧縮処理を受けた後にメインバス１０に転送され、カードインターフェース２７Ａを介してメモリカード２７に格納されたり、外部インターフェース（Ｉ／Ｆ）２８を通してパーソナルコンピュータなどの外部機器に出力されたりする。
【００２４】
尚、図１において、符号１５はＣＣＤセンサ１２を駆動するＣＣＤ駆動回路、１６はＲＰＵ１４およびＣＣＤ駆動回路１５などの動作タイミングを規律するタイミングジェネレータ、１８はＰＬＬ発信回路、１９はＣＰＵ１７の補助演算装置（コプロセッサ）を示し、また符号２０はディスプレイモジュール、２１はデジタルエンコーダ、２２はＬＣＤ２３を駆動するＬＣＤ駆動回路を示している。またクロックジェネレータ２９は、ＰＬＬ発振回路１８から供給されるクロック信号を分周することで、ＲＰＵ１４、タイミングジェネレータ１６、ＣＰＵ１７およびデジタルエンコーダ２１などの全モジュールの駆動クロック信号を生成する。
【００２５】
上記主メモリ２６は、アナログ信号処理回路１３、ＲＰＵ１４、ＤＭＡコントローラ（データ転送制御装置）２４およびＪＰＥＧ処理部２５と共にメインバス１０を介して相互にバス接続されている。アナログ信号処理回路１３およびＲＰＵ１４と主メモリ２６との間のデータ転送は、ＤＭＡコントローラ２４の制御によりＣＰＵ１７を介さずに直接実行できる。
【００２６】
実施の形態１．
図２は、本発明の実施の形態１に係るＤＭＡコントローラ（データ転送制御装置）２４の構成を示すブロック図である。ＤＭＡコントローラ２４は、ＤＭＡチャンネルＣＨ０，ＣＨ１、アービタ（調停回路）４５およびメモリコントロール回路ＭＣ１を備えており、アービタ４５とメモリコントロール回路ＭＣ１はメインバス１０に接続されている。また図２において内部モジュールＭＬ０，ＭＬ１は上記ＲＰＵ１４やディスプレイモジュール２０などの何れかである。内部モジュールの個数は２個に限らず３個以上でもよい。
【００２７】
図３はＤＭＡチャンネルＣＨｎ（ｎ＝０，１）の回路構成を示す概略図、図４は、本実施の形態１に係るＤＭＡコントローラ２４による転送処理を説明する図である。
【００２８】
図３に示すように、ＤＭＡチャンネルＣＨｎは、図４に示す主メモリ２６の記憶領域Ａ，Ｂの開始アドレスＡ，Ｂと終了アドレスＡ，Ｂとを記憶するレジスタＳＲＥＧ１，ＳＲＥＧ２，ＥＲＥＧ１，ＥＲＥＧ２を備えており、ＣＰＵ１７から、レジスタＳＲＥＧ１，ＳＲＥＧ２にそれぞれ開始アドレスＡ，Ｂが転送され、レジスタＥＲＥＧ１，ＥＲＥＧ２にそれぞれ終了アドレスＡ，Ｂが転送されて格納される。またセレクタＳＥＬ１はＣＰＵ１７の制御により、そのレジスタＳＲＥＧ１に記憶した開始アドレスＡとレジスタＳＲＥＧ２に記憶した開始アドレスＢとの何れか一方を選択し、またセレクタＳＥＬ２はＣＰＵ１７の制御により、レジスタＥＲＥＧ１に記憶した終了アドレスＡとレジスタＥＲＥＧ２に記憶した終了アドレスＢとの何れか一方を選択して比較器ＣＭＰ１に出力する。
【００２９】
アドレスカウンターＡＣ１は、セレクタＳＥＬ１からロードした開始アドレスＡまたはＢを起点として順次増分（インクリメント）した宛先アドレスを生成し、比較器ＣＭＰ１および上記アービタ４５の双方に出力する。尚、本発明において「増分」とは正または負の方向に当該量を変化させることを意味する。
【００３０】
また比較器ＣＭＰ１はセレクタＳＥＬ２からの出力信号とアドレスカウンターＡＣ１からの出力信号とを比較し、両信号が一致した場合は「Ｈ（High）」レベル信号を出力し、両信号が不一致の場合は「Ｌ（Low）」レベル信号を出力する。また図３中、符号４０，４４はＡＮＤ素子、４１はＮＯＲ素子、４２，４３はＯＲ素子を示している。
【００３１】
このような構成を有するＤＭＡコントローラ２４の動作例を以下に詳説する。
【００３２】
先ず、内部モジュールＭＬｎ（ｎ＝０，１）からアービタ４５にＤＭＡ転送要求が発せられる。アービタ４５は当該内部モジュールＭＬｎ（ｎ＝０，１）に割り当てたＤＭＡチャンネルＣＨｎ（ｎ＝０，１）に作動信号ＡＣＫを送出する。この時、アービタ４５が複数の内部モジュールＭＬｎ（ｎ＝０，１）からＤＭＡ転送要求を同時に受けたり、ＣＰＵ１７による主メモリ２６へのアクセスが発生していた場合には、アービタ４５は各ＤＭＡ転送要求の優先順位を決定しこの優先順位に従った作動信号ＡＣＫを生成する。この作動信号ＡＣＫは、図３に示すＤＭＡチャンネルＣＨｎのＡＮＤ素子４４に入力する。そのＡＮＤ素子４４は、その作動信号ＡＣＫとＯＲ素子４２から入力した信号との論理積演算を行い、両信号が共に「Ｈ」レベルにある場合は「Ｈ」レベルのイネーブル信号を出力し、両信号の少なくとも一方が「Ｌ」レベルにある場合は「Ｌ」レベル信号を出力する。今、ＡＮＤ素子４４はアドレスカウンターＡＣ１に対して「Ｈ」レベルのイネーブル信号を出力している。
【００３３】
またＣＰＵ１７は、図３に示すように上記レジスタＳＲＥＧ１，ＳＲＥＧ２およびＥＲＥＧ１，ＥＲＥＧ２にそれぞれ開始アドレスＡ，Ｂおよび終了アドレスＡ，Ｂを転送して格納させ、セレクタＳＥＬ１，ＳＥＬ２を制御してレジスタＳＲＥＧ１に格納した開始アドレスＡと、レジスタＥＲＥＧ１に格納した終了アドレスＡとを選択せしめる。次いで、ＣＰＵ１７はアドレスカウンターＡＣ１に対してセレクタＳＥＬ１から開始アドレスＡをロードする旨の制御信号を発する。この制御信号はＯＲ素子４３を介してアドレスカウンターＡＣ１に入力し、開始アドレスＡをロードせしめる。
【００３４】
アドレスカウンターＡＣ１は前記ＡＮＤ素子４４からイネーブル信号を受けると、開始アドレスＡを起点として順次増分した宛先アドレスをアービタ４５と比較器ＣＭＰ１とに出力する。アービタ４５はメモリコントロール回路ＭＣ１にメインバス１０の使用を許可する旨の制御信号と前記宛先アドレスとを出力し、次いでメモリコントロール回路ＭＣ１はメインバス１０を獲得すると共に当該宛先アドレスを主メモリ２６に出力し、当該宛先アドレスに対応する記憶素子に内部モジュールＭＬｎ（ｎ＝０，１）からデータをＤＭＡ転送して、図４に示す主メモリ２６の記憶領域Ａに格納させる。若しくは、メモリコントロール回路ＭＣ１は、当該宛先アドレスに対応する記憶領域Ａの記憶素子に格納されたデータを内部モジュールＭＬｎにＤＭＡ転送させてもよい。
【００３５】
他方、比較器ＣＭＰ１はセレクタＳＥＬ１で選択した終了アドレスＡとアドレスカウンターＡＣ１から入力した宛先アドレスとを比較し、両アドレスが一致した場合は「Ｈ」レベル信号を出力し、両アドレスが不一致の場合は「Ｌ」レベル信号を出力する。よって、アドレスカウンターＡＣ１で増分した宛先アドレスが終了アドレスＡに達する前は比較器ＣＭＰ１は「Ｌ」レベル信号を発するから、レジスタＣＲＥＧ１に格納された信号レベルが「Ｌ」，「Ｈ」に関係無く、ＯＲ素子４３は「Ｌ」レベル信号を出力し、ＯＲ素子４２は「Ｈ」レベル信号を出力する。よって、ＡＮＤ素子４４はＯＲ素子４２から入力した「Ｈ」レベル信号と「Ｈ」レベルの作動信号ＡＣＫとを論理積演算した「Ｈ」レベルのイネーブル信号を出力し続け、アドレスカウンターＡＣ１における宛先アドレスの増分は続行される。
【００３６】
次に、前記宛先アドレスが終了アドレスＡに達したとき、比較器ＣＭＰ１から「Ｈ」レベル信号が発せられる。この時、レジスタＣＲＥＧ１に格納した信号値が「Ｌ」か「Ｈ」かにより以後の処理が分岐する。
【００３７】
レジスタＣＲＥＧ１に格納した信号値が「Ｌ」の場合、比較器ＣＭＰ１が「Ｈ」レベル信号を発したとき、ＯＲ素子４２からＡＮＤ素子４４に入力する信号レベルは「Ｈ」から「Ｌ」に変化する。よってＡＮＤ素子４４の出力信号のレベルは「Ｌ」となり、アドレスカウンターＡＣ１はその「Ｌ」レベル信号によりアドレスの増分動作を中止し、上記記憶領域Ａに対するＤＭＡ転送処理は終了する。またＣＰＵ１７はセレクタＳＥＬ１，ＳＥＬ２を制御してセレクタＳＥＬ１，ＳＥＬ２に対しそれぞれ開始アドレスＢと終了アドレスＢとを選択せしめる制御を行い、次いでＣＰＵ１７はアドレスカウンターＡＣ１に対して次の記憶領域Ｂの開始アドレスＢをセレクタＳＥＬ１からロードする旨の制御信号を発する。この制御信号はＯＲ素子４３を介してアドレスカウンターＡＣ１に入力し、開始アドレスＢをロードせしめる。これにより比較器ＣＭＰ１は「Ｌ」レベル信号を出力するため、ＡＮＤ素子４４は「Ｈ」レベルのイネーブル信号を出力し、アドレスカウンターＡＣ１は、開始アドレスＢが終了アドレスＢに一致する迄、開始アドレスＢを起点として順次増分した宛先アドレスを生成し、その宛先アドレスを比較器ＣＭＰ１とアービタ４５とに出力する。次いで、上述したように記憶領域Ｂの当該宛先アドレスに対してＤＭＡ転送が実行される。また、前記宛先アドレスが終了アドレスＢと一致した時点で比較器ＣＭＰ１は「Ｈ」レベル信号を出力するからＡＮＤ素子４４は「Ｌ」レベル信号を出力し、アドレスカウンターＡＣ１はアドレスの増分動作を中止する。以上で、記憶領域Ｂに対するＤＭＡ転送処理が終了する。
【００３８】
他方、レジスタＣＲＥＧ１に格納した信号値が「Ｈ」の場合、前記宛先アドレスが終了アドレスＡに達すると比較器ＣＭＰ１から「Ｈ」レベル信号が出力される。この「Ｈ」レベル信号と同期してＣＰＵ１７はセレクタＳＥＬ１，ＳＥＬ２を制御してセレクタＳＥＬ１，ＳＥＬ２に対しそれぞれ開始アドレスＢと終了アドレスＢとを選択せしめる制御を行う。またＯＲ素子４３からは「Ｈ」レベル信号が出力されＯＲ素子４３を介してアドレスカウンターＡＣ１に入力する。その「Ｈ」レベル信号を受けたアドレスカウンターＡＣ１はセレクタＳＥＬ１から開始アドレスＢをロードし、この開始アドレスＢを起点として順次増分した宛先アドレスを生成し、それを比較器ＣＭＰ１と上記アービタ４５とに出力する。この時、ＡＮＤ素子４４は、ＯＲ素子４２からＡＮＤ素子４４に入力する「Ｈ」レベル信号と「Ｈ」レベルの作動信号ＡＣＫとを論理積演算した「Ｈ」レベルのイネーブル信号を出力し続ける。こうして上述した記憶領域Ａに対するＤＭＡ転送処理と同様に記憶領域Ｂの当該宛先アドレスに対してＤＭＡ転送が実行される。
【００３９】
続いて、前記宛先アドレスと終了アドレスＢとが一致した時点で比較器ＣＭＰ１は「Ｈ」レベル信号を出力し、この「Ｈ」レベル信号と同期してＣＰＵ１７はセレクタＳＥＬ１，ＳＥＬ２を制御し、セレクタＳＥＬ１，ＳＥＬ２に対しそれぞれ開始アドレスＡと終了アドレスＡとを選択せしめる制御を行う。また、ＯＲ素子４３から出力される「Ｈ」レベル信号を受けたアドレスカウンターＡＣ１は、セレクタＳＥＬ１から次の記憶領域Ａの開始アドレスＡをロードし、上述したように記憶領域Ａに対するＤＭＡ転送が実行される。このように記憶領域Ａと記憶領域ＢとをＤＭＡ転送でサイクリック（循環的）に利用する場合、増分した宛先アドレスが終了アドレスに一致した時点でアドレスカウンターＡＣ１には「Ｈ」レベルの制御信号が入力し、この制御信号により次の開始アドレスが自動的にロードされるから、ＣＰＵ１７は開始アドレスと終了アドレスとを一々指定する必要が無く、ＣＰＵ１７にかかる負担を軽減させることが可能となる。
【００４０】
以上のように本実施の形態１に係るＤＭＡコントローラ２４は、開始アドレスおよび終了アドレスの組を２組有するから、ＤＭＡ転送を高速に実行できると共に、主メモリ２６に対するＤＭＡ転送の実行時に記憶領域Ａと記憶領域Ｂとの間の切り換えをＣＰＵ１７に負荷をかけること無しに実行できる。このため特に小容量のデータを頻繁にＤＭＡ転送してもＣＰＵ１７にかかる負荷は小さくなる。尚、本実施の形態では開始アドレスと終了アドレスの組の数は２組であるが、本発明ではこれに限らず３組以上でも構わない。
【００４１】
また上記セレクタＳＥＬ１，ＳＥＬ２を用いて開始アドレスＡ，Ｂおよび終了アドレスＡ，Ｂを選択的に切り換えているから、ＣＰＵ１７を効率的に使用して全体の画像処理速度を向上させることが可能となる。例えば、記憶領域ＢにデータをＤＭＡ転送している間に、記憶領域Ａに格納したデータを読み出しソフトウェア処理できる。
【００４２】
実施の形態２．
次に、図５は、本発明の実施の形態２に係るＤＭＡコントローラ（データ転送制御装置）２４のＤＭＡチャンネルＣＨｎの回路構成を示す図、図６および図７は、このＤＭＡコントローラによる転送処理を説明する図である。図５において、図３に示した符号と同一符号を付した記号およびブロックについては略同一機能を有するものとして詳細な説明を省略する。
【００４３】
本実施の形態２のＤＭＡチャンネルＣＨｎは、上記実施の形態１のＤＭＡチャンネルの構成に加えて、アドレスカウンターＡＣ１のアドレスの増分動作と同期した計数処理を実行するローカルカウンターＬＣ１を備えている。また比較器ＣＭＰ２は、このローカルカウンターＬＣ１の出力信号の値とレジスタＬＥＲＥＧ１に格納した最終値Ａとを比較して、両信号が一致した場合は「Ｈ」レベル、両信号が不一致の場合は「Ｌ」レベルの比較信号を出力する。セレクタＳＥＬ２は、その比較信号のレベルが「Ｌ」の場合は「０」の値を選択して出力し、その比較信号のレベルが「Ｈ」の場合はレジスタＯＲＥＧ１に格納されたオフセット値を選択して出力するように制御される。加算器ＡＤ１は、セレクタＳＥＬ２の出力信号とアドレスカウンターＡＣ１で増分した宛先アドレスとを加算する。尚、本実施の形態では、宛先アドレスが正の方向へ増分される場合を想定して加算器ＡＤ１を用いているが、宛先アドレスが負の方向へ増分される場合は上記加算器ＡＤ１は減算器に代替される。
【００４４】
このようなＤＭＡチャンネルＣＨｎを有するＤＭＡコントローラ２４の動作を以下に詳説する。
【００４５】
上記実施の形態１の場合と同様に、内部モジュールＭＬｎからアービタ４５にＤＭＡ転送要求が発せられると、アービタ４５は内部モジュールＭＬｎに割り当てたＤＭＡチャンネルＣＨｎに作動信号ＡＣＫを送出する。この作動信号ＡＣＫは図５に示すＤＭＡチャンネルＣＨｎのＡＮＤ素子４４に入力する。またＡＮＤ素子４４は、その作動信号ＡＣＫとＯＲ素子４２の出力信号との論理積演算を行い、両信号が共に「Ｈ」レベルにある場合は「Ｈ」レベルのイネーブル信号をアドレスカウンターＡＣ１とローカルカウンターＬＣ１とに出力して増分動作と計数動作を実行させる。尚、アドレスカウンターＡＣ１とローカルカウンターＬＣ１の双方には同一のタイミングで宛先アドレスの増分と計数を実行させるクロック信号（図示せず）が供給される。
【００４６】
また上記実施の形態１の場合と同様に、ＣＰＵ１７はレジスタＳＲＥＧ１，ＳＲＥＧ２およびＥＲＥＧ１，ＥＲＥＧ２にそれぞれ開始アドレスＡ，Ｂおよび終了アドレスＡ，Ｂを転送して格納させる。また、ＣＰＵ１７はアドレスカウンターＡＣ１に対してセレクタＳＥＬ１が選択した開始アドレスＡをロードする旨の制御信号を発し、その制御信号を受けたアドレスカウンターＡＣ１は開始アドレスＡをロードし、その開始アドレスＡを起点として順次増分した宛先アドレスを生成して比較器ＣＭＰ１とアービタ４５とに出力する。またローカルカウンターＬＣ１は、アドレスカウンターＡＣ１の増分動作と同期して所定の初期値Ａ（通常は零値）を起点として計数した計数値を生成する。
【００４７】
前記宛先アドレスを受けたアービタ４５は、メモリコントロール回路ＭＣ１にメインバス１０の使用を許可する旨の制御信号と前記宛先アドレスとを出力する。メモリコントロール回路ＭＣ１はメインバス１０を獲得すると共に当該宛先アドレスを主メモリ２６に出力し、当該宛先アドレスに対応する記憶素子に蓄積されたデータを内部モジュールＭＬｎにＤＭＡ転送させたり、若しくはその内部モジュールＭＬｎからその記憶素子にデータをＤＭＡ転送させる。
【００４８】
またローカルカウンターＬＣ１における計数値がレジスタＬＥＲＥＧ１に格納した最終値Ａと一致した時点で比較器ＣＭＰ２は「Ｈ」レベル信号を出力し、その信号を受けたセレクタＳＥＬ２はレジスタＯＲＥＧ１に格納したオフセット値Ａを選択して加算器ＡＤ１に出力する。この時、ローカルカウンターＬＣ１の値は上記初期値Ａにリセットされる。また加算器ＡＤ１は当該宛先アドレスにオフセット値Ａを加算した加算値を生成しアドレスカウンターＡＣ１に出力する。アドレスカウンターＡＣ１は、比較器ＣＭＰ２からの「Ｈ」レベル信号を受けてその加算値をロードし、その加算値を起点として順次増分した宛先アドレスを生成出力する。
【００４９】
次に、このように記憶領域Ａに対するＤＭＡ転送が終了した後は、上記記憶領域Ｂに対しても同様の手順でＤＭＡ転送が続行される。
【００５０】
以上の通り、上記最終値Ａおよびオフセット値Ａを調整することで、ＣＰＵ１７に負荷をかけること無く、主メモリ２６などに蓄積した画像データを間引きしてＤＭＡ転送することが可能となる。例えば、図６に示すように主メモリ２６の開始アドレスから終了アドレスまでの記憶領域を転送する場合、オフセット値Ａに相当する領域ＯＲ１を飛び越して、ローカルカウンターＬＣ１の値が初期値Ａから最終値Ａに至る期間に相当する転送領域ＴＲ１，ＴＲ１，…を選択して転送できる。従って、図７（ａ）に示すように、主メモリ２６にプログレッシブ（順次走査）形式で記憶された画像データＰ２から、開始アドレスから最終アドレスに至る水平ライン領域と、オフセット値Ａに相当する領域を間引いた垂直ライン領域とからなる画像データを抽出する（切り出す）ことができる。
【００５１】
また図７（ｂ）の画像データＰ３に示すように、オフセット値Ａを図７（ａ）の場合の値から水平ライン１本分増すことでインターレース（飛び越し走査）形式の画像データをＤＭＡ転送することもできる。従って、上記ＲＰＵ１４やＣＰＵ１７で画像処理したプログレッシブ形式の画像信号を一旦主メモリ２６に格納しておき、上述の動作手順でインターレース形式の画像データをディスプレイモジュール２０にＤＭＡ転送してＬＣＤ２３で映像表示することが可能となる。
【００５２】
実施の形態３．
次に、図８は本発明の実施の形態３に係るＤＭＡコントローラ（データ転送制御装置）２４の回路構成を示す概略図、図９および図１０は、このＤＭＡコントローラによる転送処理を説明する図である。図８において、図３，図４に示した符号と同一符号を付した記号およびブロックについては略同一機能を有するものとして詳細な説明を省略する。
【００５３】
本実施の形態３のＤＭＡチャンネルＣＨｎは、上記実施の形態２のＤＭＡチャンネルの構成に加えて、アドレスカウンターＡＣ１のアドレスの増分動作と同期した計数処理を実行するローカルカウンターＬＣ２を備えている。また比較器ＣＭＰ３は、このローカルカウンターＬＣ２の出力信号の値とレジスタＬＥＲＥＧ２に格納した最終値Ｂとを比較して、両信号が一致した場合は「Ｈ」レベル、両信号が不一致の場合は「Ｌ」レベルの比較信号をセレクタＳＥＬ３とＯＲ素子５０とに出力する。またセレクタＳＥＬ３は、比較器ＣＭＰ３から出力された比較信号により制御され、その比較信号のレベルが「Ｌ」の場合は「０」の値を選択し、その比較信号のレベルが「Ｈ」の場合はレジスタＯＲＥＧ２に格納したオフセット値Ｂを選択して加算器ＡＤ２へ出力する。尚、本実施の形態では、宛先アドレスが正の方向へ増分される場合を想定して加算器ＡＤ２を用いているが、宛先アドレスが負の方向へ増分される場合は上記加算器ＡＤ２は減算器に代替される。
【００５４】
またＯＲ素子５０は、比較器ＣＭＰ３からの比較信号と比較器ＣＭＰ２からの比較信号とを論理和演算してアドレスカウンターＡＣ１に出力する。
【００５５】
このようなＤＭＡチャンネルＣＨｎを有するＤＭＡコントローラ２４の動作を以下に詳説する。
【００５６】
上記実施の形態１，２の場合と同様に、内部モジュールＭＬｎからアービタ４５にＤＭＡ転送要求が発せられると、アービタ４５は内部モジュールＭＬｎに割り当てたＤＭＡチャンネルＣＨｎに作動信号ＡＣＫを送出する。この作動信号ＡＣＫは図８に示すＤＭＡチャンネルＣＨｎのＡＮＤ素子４４に入力する。またＡＮＤ素子４４は、その作動信号ＡＣＫとＯＲ素子４２の出力信号との論理積演算を行い、両信号が共に「Ｈ」レベルにある場合に「Ｈ」レベルのイネーブル信号をアドレスカウンターＡＣ１、ローカルカウンターＬＣ１およびＬＣ２に出力して増分動作および計数動作を実行させる。尚、アドレスカウンターＡＣ１、ローカルカウンターＬＣ１およびＬＣ２には同一のタイミングで宛先アドレスの増分および計数を実行させるクロック信号（図示せず）が供給されている。
【００５７】
また上記実施の形態１，２の場合と同様に、ＣＰＵ１７はレジスタＳＲＥＧ１，ＳＲＥＧ２およびＥＲＥＧ１，ＥＲＥＧ２にそれぞれ開始アドレスＡ，Ｂおよび終了アドレスＡ，Ｂを転送して格納させる。またＣＰＵ１７はアドレスカウンターＡＣ１に対してセレクタＳＥＬ１が選択した開始アドレスＡをロードする旨の制御信号を発し、その制御信号を受けたアドレスカウンターＡＣ１は開始アドレスＡをロードし、その開始アドレスＡを起点として順次増分した宛先アドレスを生成して比較器ＣＭＰ１とアービタ４５とに出力する。またローカルカウンターＬＣ１，ＬＣ２は、アドレスカウンターＡＣ１の増分動作と同期してそれぞれ所定の初期値Ａ，Ｂを起点として計数した計数値を生成出力する。
【００５８】
また上記実施の形態１，２の場合と同様に、前記宛先アドレスを受けたアービタ４５は、メモリコントロール回路ＭＣ１を制御し、当該宛先アドレスに対応する記憶素子に蓄積されたデータを内部モジュールＭＬｎにＤＭＡ転送させたり、若しくはその内部モジュールＭＬｎからその記憶素子にデータをＤＭＡ転送させて記憶させる。
【００５９】
またローカルカウンターＬＣ１における計数値がレジスタＬＥＲＥＧ１に格納した最終値Ａと一致した時点で、比較器ＣＭＰ２は「Ｈ」レベル信号を出力し、その信号を受けたセレクタＳＥＬ２はレジスタＯＲＥＧ１に格納したオフセット値Ａを選択して加算器ＡＤ１に出力する。ローカルカウンターＬＣ１は、比較器ＣＭＰ２が「Ｈ」レベル信号を出力した時点で計数値を初期値Ａにリセットする。また加算器ＡＤ１は、アドレスカウンターＡＣ１から出力されたアドレスとオフセット値Ａとを加算した加算値を加算器ＡＤ２に出力する。また加算器ＡＤ２は、その加算値とセレクタＳＥＬ３から出力された値とを加算してアドレスカウンターＡＣ１に出力し、アドレスカウンターＡＣ１はＯＲ素子５０を介して比較器ＣＭＰ２が発した「Ｈ」レベル信号を受け、加算器ＡＤ２から出力された加算値をロードし、当該加算値を起点として順次増分した宛先アドレスを生成出力する。
【００６０】
他方、ローカルカウンターＬＣ２における計数値がレジスタＬＥＲＥＧ２に格納した最終値Ｂと一致した時点で、比較器ＣＭＰ３は「Ｈ」レベル信号を出力し、その信号を受けたセレクタＳＥＬ３はレジスタＯＲＥＧ２に格納したオフセット値Ｂを選択して加算器ＡＤ２に出力する。ローカルカウンターＬＣ２は、比較器ＣＭＰ３が「Ｈ」レベル信号を出力した時点で計数値を初期値Ｂにリセットする。また加算器ＡＤ２は、上記加算器ＡＤ１から出力された値とオフセット値Ｂとを加算してアドレスカウンターＡＣ１に出力し、アドレスカウンターＡＣ１はＯＲ素子５０を介して比較器ＣＭＰ３が発した「Ｈ」レベル信号を受けて加算器ＡＤ２から出力された加算値をロードし、その加算値を起点として順次増分した宛先アドレスを生成出力する。
【００６１】
次に、このように記憶領域Ａに対するＤＭＡ転送が終了した後は、上記記憶領域Ｂに対しても同様の手順でＤＭＡ転送が続行される。
【００６２】
以上の通り、本実施の形態３では、上記最終値Ｂおよびオフセット値Ｂを調整することで、ＣＰＵ１７に負荷をかけること無く、画像データを更に細かく間引きしてＤＭＡ転送することが可能となる。例えば図９に示すように、主メモリ２６の開始アドレスから終了アドレスまでの記憶領域を転送する場合、オフセット値Ｂに相当する領域ＯＲ２を飛び越して、ローカルカウンターＬＣ２の値が初期値Ｂから最終値Ｂに至る期間に相当する転送領域ＴＲ２，ＴＲ２，…を選択し、更に各転送領域ＴＲ２においてオフセット値Ａに相当する領域ＯＲ１を飛び越して、ローカルカウンターＬＣ１の値が初期値Ｂから最終値Ｂに至る期間に相当する転送領域ＴＲ１，ＴＲ１，…を選択しＤＭＡ転送できる。これにより画像データから複数の画像領域を選択しこれを任意サイズに縮小して表示することが可能となる。
【００６３】
具体的には、図１０（ａ）に示すように、主メモリ２６にプログレッシブ形式で記憶された画像データＰ４から、上記オフセット値Ｂに相当する領域ＯＲ２を間引いた垂直ライン領域ＴＲ２において上記オフセット値Ａに相当する領域ＯＲ１，…を間引いた水平ライン領域ＴＲ１，…からなる画像データを抽出する（切り出す）ことができる。
【００６４】
また図１０（ｂ）示すように、オフセット値Ｂを図１０（ａ）の場合の値から水平ラインの１本または複数本分増すことで、垂直ラインおよび水平ラインを所定数間引きした画像データを抽出することもできる。
【符号の説明】
【００６５】
ＭＬ０，ＭＬ１  内部モジュール
ＳＲＥＧ１，ＳＲＥＧ２  レジスタ
ＥＲＥＧ１，ＥＲＥＧ２  レジスタ
ＯＲＥＧ１，ＯＲＥＧ２，ＣＲＥＧ１  レジスタ
ＬＥＲＥＧ１，ＬＥＲＥＧ２  レジスタ
ＡＤ１，ＡＤ２  加算器
ＳＥＬ１〜ＳＥＬ４  セレクタ
ＡＣ１  アドレスカウンター
ＭＣ１  メモリコントロール回路
ＣＭＰ１〜ＣＭＰ３  比較器
ＬＣ１，ＬＣ２  ローカルカウンター
ＣＨｎ  ＤＭＡチャンネル
【図１】
2011103129.tif 000003
【図２】
2011103129.tif 000004
【図３】
2011103129.tif 000005
【図４】
2011103129.tif 000006
【図５】
2011103129.tif 000007
【図６】
2011103129.tif 000008
【図７】
2011103129.tif 000009
【図８】
2011103129.tif 000010
【図９】
2011103129.tif 000011
【図１０】
2011103129.tif 000012
【図１１】
2011103129.tif 000013