JP6539509B2 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
JP6539509B2
JP6539509B2 JP2015120449A JP2015120449A JP6539509B2 JP 6539509 B2 JP6539509 B2 JP 6539509B2 JP 2015120449 A JP2015120449 A JP 2015120449A JP 2015120449 A JP2015120449 A JP 2015120449A JP 6539509 B2 JP6539509 B2 JP 6539509B2
Authority
JP
Japan
Prior art keywords
data
unit
transfer
read
buffer unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015120449A
Other languages
English (en)
Other versions
JP2017004430A5 (ja
JP2017004430A (ja
Inventor
田中 義信
義信 田中
上野 晃
晃 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2015120449A priority Critical patent/JP6539509B2/ja
Priority to CN201680033931.9A priority patent/CN107710177B/zh
Priority to PCT/JP2016/066394 priority patent/WO2016203971A1/ja
Priority to DE112016002168.2T priority patent/DE112016002168T5/de
Publication of JP2017004430A publication Critical patent/JP2017004430A/ja
Priority to US15/813,853 priority patent/US10346323B2/en
Publication of JP2017004430A5 publication Critical patent/JP2017004430A5/ja
Application granted granted Critical
Publication of JP6539509B2 publication Critical patent/JP6539509B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Image Processing (AREA)

Description

本発明は、データ転送装置およびデータ転送方法に関する。
従来、デジタルカメラ等の撮像システムは、各種の機能ブロックが割り当てられた複数のLSI(Large Scale Integration)を備えている。上記複数のLSIは、DMA(Direct Memory Access)用の共通バスに接続されており、上記複数のLSIにそれぞれ割り当てられた複数の機能ブロックが上記共通バスを介して1つのDRAM(Dynamic Random Access Memory)を共有している。この種のシステムには、所謂バスアービタが備えられている。
バスアービタは、DRAMをアクセスする各機能ブロックのDMA転送要求を調停することにより、各機能ブロックによるDRAMアクセスを制御する。具体的には、バスアービタは、例えばバンクの切り替えの際に発生する共通バスの帯域ロスや、リードとライトの切り替えの際に発生する共通バスの帯域ロスを低減させ、バスの利用効率を最大限に向上させるようなアービトレーションを行いつつ、優先度の高い処理を担う機能ブロックのDMA転送要求を優先的に受け付けるようなアービトレーションを行う。
一般に、バスアービタによるアービトレーションによれば、優先度の高い機能ブロックがDMA転送要求を連続的に出力した場合、他の機能ブロックにバス権が渡らず、他の機能ブロックの処理が破綻する場合が起こり得る。この問題の解決を図った従来技術として、特許文献1に開示された技術がある。この従来技術では、優先度の高い機能ブロックが一定の時間間隔を空けてDMA転送要求を出力することにより、当該機能ブロックのDMA転送要求が連続しても、バスアービタが優先度の低い他の機能ブロックのDMA転送要求を受け付けることを可能にしている。
特開2006−39672号公報
ところで、例えば共通バスの輻輳等により、機能ブロックのDMA転送要求がバスアービタに受け付けられるのに長時間を要した場合、その後に出力すべき当該機能ブロック自身のDMA転送要求が滞留する。この場合、当該機能ブロックは、自身の処理の遅滞を抑制するために、滞留したDMA転送要求を速やかに出力する必要がある。
しかしながら、特許文献1の技術によれば、DMA転送要求がアービタに受け付けられてから一定時間経過後でなければ、当該DMA転送要求を出力した機能ブロックは次のDMA転送要求を出力することができない。このため、共通バスの輻輳等が解消し、共通バスの帯域に余裕が生まれても、滞留したDMA転送要求を速やかに出力することが困難になる。
本発明は、上記事情に鑑みてなされたものであり、共通バスの帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができるデータ転送装置およびデータ転送方法を提供することを課題とする。
本発明に係るデータ転送装置は、共通バスに転送される転送データを一時的に格納するバッファ部と、入力データを前記転送データとして前記バッファ部にライトすると共に、前記入力データを前記バッファ部にライトした旨を示す通知信号を出力するライト制御部と、前記バッファ部から前記転送データをリードするリード制御部と、前記リード制御部により前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送するインターフェイス部と、前記通知信号を遅延させ、前記バッファ部から前記転送データをリードするタイミングを制御するためのリード制御信号を生成して前記リード制御部に出力することにより、前記共通バスの帯域を平滑化する帯域平滑部と、を備え、前記リード制御部は、前回のリード制御信号に応答して前記バッファ部から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKが前記インターフェイス部で受信されていることを条件に、前記バッファ部から今回の転送データをリードする。
例えば、前記帯域平滑部は、前記入力データをなす画素データが前記ライト制御部により前記バッファ部に順次的にライトされるに従って前記ライト制御部から順次的に出力される前記通知信号を遅延させることにより、所定の時間間隔を空けて、前記通知信号を前記リード制御信号として順次的に出力してもよい。
例えば、前記帯域平滑部は、前記ライト制御部から順次的に出力される前記通知信号を保持するためのFIFOメモリと、前記ライト制御部から順次的に出力される前記通知信号に応答して、前記FIFOメモリに保持された通知信号のうち、リードされていない通知信号の数をカウントする第1のカウンタと、前記所定の時間間隔を与えるカウント値に到達するまで所定周期でカウントアップし、前記FIFOメモリのリードのタイミングで初期化される第2のカウンタと、前記第2のカウンタのカウント値が所定値に到達し、且つ、前記第1のカウンタのカウント値が、前記FIFOメモリからリードされていない通知信号が前記FIFOメモリに存在することを示す場合、前記FIFOメモリからリードされていない通知信号を前記FIFOメモリから前記リード制御信号としてリードして出力させるリード判定部と、を備えてもよい。
本発明に係るデータ転送方法は、ライト制御部が、共通バスに転送される転送データとして入力データをバッファ部にライトし、前記入力データを前記バッファ部にライトした旨を示す通知信号を出力する第1ステップと、帯域平滑部が、前記通知信号を遅延させ、前記共通バスの帯域を平滑化するように前記バッファ部から前記転送データをリードするためのリード制御信号を生成する第2ステップと、リード制御部が、前記リード制御信号に応答して前記バッファ部から前記転送データをリードする第3ステップと、インターフェイス部が、前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送する第4ステップと、を含み、前記第3ステップにおいて、前回のリード制御信号に応答して前記バッファ部から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKが発行されていることを条件に、前記リード制御部が、前記バッファ部から今回の転送データをリードする。
本発明によれば、共通バスの帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができる。
本発明の第1実施形態によるデータ転送装置が適用された撮像システムの構成例を示すブロック図である。 本発明の第1実施形態によるデータ転送装置の構成例を示すブロック図である。 本発明の第1実施形態によるデータ転送装置が備える帯域平滑部の構成例を示すブロック図である。 本発明の第1実施形態によるデータ転送装置の動作フローの一例を示すフローチャートである。 本発明の第1実施形態によるデータ転送装置の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。 本発明の第1実施形態によるデータ転送装置の動作を説明するための図であり、(A)は、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートであり、(B)は、DMA転送要求が受け付けられるまでの時間が短い場合の入力データと出力データとの関係を説明するための図である。 本発明の第1実施形態によるデータ転送装置の動作を説明するための図であり、(A)は、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートであり、(B)は、DMA転送要求が受け付けられるまでの時間が長い場合の入力データと出力データとの関係を説明するための図である。 本発明の第2実施形態によるデータ転送装置が備える帯域平滑部の構成例を示すブロック図である。 本発明の第3実施形態によるデータ転送装置の構成例を示すブロック図である。 本発明の第3実施形態によるデータ転送装置が備える帯域平滑部の構成例を示すブロック図である。 本発明の第3実施形態によるデータ転送装置が備える帯域平滑部の動作を説明するための図であり、バッファ部の残容量と転送データ間の時間間隔との関係を説明するための図である。 本発明の実施形態によるデータ転送装置の効果を補足するための従来技術によるデータ転送装置の動作例を説明するための図であり、(A)は、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートであり、(B)は、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。
以下、図面を参照しながら、本発明の実施形態を説明する。
(第1実施形態)
先ず、本発明の第1実施形態を説明する。
図1は、本発明の第1実施形態によるデータ転送装置が適用された撮像システム100の構成例を示すブロック図である。
撮像システム100は、例えばデジタルカメラであり、イメージセンサ110、機能ブロック120〜160、バスアービタ161、DRAMインターフェイス部162、DRAM163、中央演算処理装置(CPU;Central Processing Unit)170、共通バス180を備えている。なお、図1では、イメージセンサ110の撮像面に被写体の光像を結像させるための光学系等は省略されている。
イメージセンサ110は、被写体の光像を光電変換して画素データ(画素信号)を生成するための要素であり、例えばCCD(Charge Coupled Device)イメージセンサまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。イメージセンサ110は、例えばRGB表色系の画像データを出力する。
機能ブロック120は、イメージセンサ110により得られた画像データを共通バス180に出力するためのバスインターフェイスとして機能する要素であり、前処理部121、画像抽出部122,123、評価値生成部124、データ転送部125〜127を備えている。前処理部121は、イメージセンサ110により得られた画像データに対し、例えばキズ補正やシェーディング補正等の前処理を施すための要素である。
画像抽出部122,123は、イメージセンサ110により得られた画像データの一部を切り出すことにより、上記画像データから表示画像や記録画像等の画像データを抽出するための要素である。評価値生成部124は、露出、ホワイトバランス、フォーカス等の制御に用いられる評価値を生成するための要素である。データ転送部125,126は、画像抽出部122,123によりそれぞれ抽出された画像データを共通バス180に転送するための要素である。データ転送部127は、評価値生成部124により生成された評価値を共通バス180に転送するための要素である。
機能ブロック130は、画像を表示するための要素であり、データ転送部131、表示処理部132、表示デバイス133を備えている。データ転送部131は、表示デバイス133に表示される画像(以下、表示画像と称す。)の画像データを共通バス180から表示処理部132に転送するための要素である。表示処理部132は、DRAM163から表示画像の画像データを取得し、この画像データにOSD(On Screen Display)重畳処理等の表示処理を施すための要素である。表示デバイス133は、表示処理部132により処理された画像データを可視化するための要素である。表示デバイス133は、例えばTFT(Thin Film Transistor)液晶デバイスや有機EL(ElectroLuminescence)表示デバイスである。
機能ブロック140は、画像データを記憶するための要素であり、データ転送部141,142、カードインターフェイス部143、記録媒体144を備えている。データ転送部141は、カードインターフェイス部143から供給される画像データを共通バス180に転送するための要素である。データ転送部142は、共通バス180から供給される画像データをカードインターフェイス部143に転送するための要素である。カードインターフェイス部143は、DRAM163から画像データをリードして記録媒体144にライトし、記録媒体144から画像データをリードしてDRAM163にライトするための要素である。記録媒体144は、例えばSD(Secure Digital)カードやCF(Compact Flash)等、カードインターフェイス部143に着脱可能なメモリカードである。
機能ブロック150は、DRAM163に格納された画像データ(前処理された画像データ)に対し、ノイズ除去処理、YC変換処理、リサイズ処理、JPEG圧縮処理等の所定の画像処理を施して表示画像や記録画像を生成するための要素である。機能ブロック150は、データ転送部151,152、画像処理部153を備えている。データ転送部151は、画像処理部153から供給された画像データを共通バス180に転送するための要素である。データ転送部152は、共通バス180から供給された画像データを画像処理部153に転送するための要素である。画像処理部153は、上記所定の画像処理を実施するための要素である。画像処理部153により上記所定の画像処理が施された画像データは、DRAM163に転送されて格納される。
バスアービタ161は、共通バス180に接続された機能ブロック120〜150から出力されるDMA転送要求を調停するための要素である。バスアービタ161は、DRAM163に対するアクセスを許可するためのバス権が付与される機能ブロックを決定する。DRAMインターフェイス部162は、DRAM163への画像データのライトとDRAM163からの画像データのリードとを実施するための要素である。DRAM163は、機能ブロック120〜150により共有された半導体メモリであり、例えばシンクロナスDRAMである。
中央演算処理装置170は、撮像システム100の全体動作を制御するための要素である。なお、中央演算処理装置170も、上述の機能ブロック120〜150と同様に、DRAM163を共有する機能ブロックの一つである。
第1実施形態によるデータ転送装置は、上述した撮像システム100に備えられたデータ転送部125〜127,131,141,142,151,152のうち、共通バス180に画像データを出力する機能を担うデータ転送部125〜127,141,151のそれぞれに相当する。以下では、機能ブロック120に備えられたデータ転送部125に着目して説明することとし、データ転送部125を「データ転送装置10」と称す。
なお、第1実施形態によるデータ転送装置は、図1に示す撮像システム100に備えられた全てのデータ転送部に適用することもでき、一部のデータ転送部にのみ適用することもできる。
図2は、本発明の第1実施形態によるデータ転送装置10の構成例を示すブロック図である。
データ転送装置10は、ライト制御部11、バッファ部12、リード制御部13、インターフェイス部(I/F部)14、帯域平滑部15を備えている。
なお、帯域平滑部15とライト制御部11とを一体化してもよく、帯域平滑部15とリード制御部13とを一体化してもよい。また、リード制御部13とインターフェイス部14とを一体化してもよい。
ライト制御部11は、イメージセンサ110によって取得された画素データのデータ列からなる入力画像データDiを転送データとしてバッファ部12に順次的にライトするための要素である。ライト制御部11は、入力画像データDiをなす所定数の画素分の画素データ(例えば32画素分の画素データ)のライトが完了する都度、入力画像データDiをバッファ部12にライトした旨を示すライト完了通知信号SWを出力する。ライト完了通知信号SWには、入力画像データDiがライトされた記憶領域M0〜M15の何れかを示すアドレス情報が含まれている。ここでは、ライト制御部11は、入力画像データDiをなす32画素分の画素データのライトが完了する都度、ライト完了通知信号SWを出力するものとするが、この例に限定されない。
また、ライト制御部11は、後述するリード制御部13からリード完了通知信号SRを受信すると、そのリード完了通知信号SRに基づいて、記憶領域M0〜M15のうち、転送データがリードされた記憶領域(即ち、空いた記憶領域)を特定する。ライト制御部11は、空いた記憶領域に入力画像データDiをライトする。
バッファ部12は、共通バス180に転送される転送データを一時的に格納するための要素である。バッファ部12は、例えばSRAM(Static Random Access Memory)から構成される。第1実施形態では、バッファ部12は、記憶領域M0〜M15の合計16個の記憶領域を含む。各記憶領域には、入力画像データDiをなす上記所定数の画素分の画素データが転送データとして格納される。ここでは、記憶領域M0〜M15のそれぞれには、32画素分の画素データが格納されるものとする。1画素分の画素データを2バイトとすれば、記憶領域M0〜M15のそれぞれには、64(=2×32)バイトの画素データが格納される。従って、記憶領域M0〜M15のそれぞれは、少なくとも64バイトの記憶容量を有している。
バッファ部12は、記憶領域M0から記憶領域M15に向けて、入力画像データDiをなす画素データを64バイト単位で順次的に格納する。具体的には、バッファ部12は、入力画像データDiをなす最初の32画素分の64バイトの画素データを先頭の記憶領域M0に格納し、次の32画素分の64バイトの画素データを記憶領域M1に格納する。以下同様にして、バッファ部12は、入力画像データDiをなす後続の画素データを64バイト単位で記憶領域M2〜M15に順次格納する。最後の記憶領域M15に入力画像データDiが格納されると、バッファ部12は、再び先頭の記憶領域M0から記憶領域M15に向けて、入力画像データDiをなす新たな後続の各画素データを64バイト単位で各記憶領域に順次的に格納する。即ち、バッファ部12の記憶領域M0から記憶領域M15には、イメージセンサ110から順次出力される入力画像データDiの各画素データがライト制御部11によって巡回的にライトされる。以下では、バッファ部12に画素データをライトすることは、記憶領域M0〜M15に入力画像データDiを32画素分の64バイト単位でライトすることを意味する。
なお、撮像システム100の構成上、バッファ部12に入力画像データDiをライトするためのライトクロック信号と、バッファ部12から転送データをリードするためのリードクロック信号とが、相互に異なるクロック信号である場合、バッファ部12として、例えば、ライトクロック信号とリードクロック信号とを個別に入力可能なタイプのSRAM(例えば、デュアルポートSRAM)を用いることができる。
リード制御部13は、帯域平滑部15から出力される後述のリード制御信号SCに応答して、バッファ部12から転送データをリードするための要素である。リード制御信号SCは、ライト完了通知信号SWを遅延させた信号である。従って、リード制御信号SCは、ライト完了通知信号SWと同様に、バッファ部12に入力画像データDiがライトされた旨を示す情報と共に、入力画像データDiがライトされた記憶領域を示すアドレス情報を含んでいる。リード制御部13は、帯域平滑部15からリード制御信号SCを受信すると、このリード制御信号SCに含まれるアドレス情報によって示されるバッファ部12の記憶領域M0〜M15から32画素分の64バイト単位で画素データを転送データとしてリードする。以下では、バッファ部12から転送データをリードすることは、記憶領域M0〜M15から画素データを転送データとして32画素分の64バイト単位でリードすることを意味する。
リード制御部13は、バッファ部12から32画素分の64バイトの転送データのリードを完了する都度、その転送データをリードした旨を示すリード完了通知信号SRをライト制御部11に出力する。リード完了通知信号SRには、リードされた転送データが格納されていたバッファ部12の記憶領域を示すアドレス情報(即ち、空いた記憶領域を示す情報)が含まれている。
インターフェイス部14は、リード制御部13によりバッファ部12からリードされた転送データを、所定のバスプロトコルに従って共通バス180に転送するための要素である。具体的には、インターフェイス部14は、転送データを共通バス180に転送するために、DMA転送要求REQの送信、DMA転送受付ACKの受信、転送データの転送先を示すDRAM上のアドレスADDの送信、転送データ(画素データ)本体の送信等を行う。
帯域平滑部15は、共通バス180の帯域を平滑化するための要素である。帯域平滑部15は、ライト制御部11から入力されるライト完了通知信号SWに基づいて、リード制御部13がバッファ部12から転送データをリードするタイミングを制御することにより、共通バス180の帯域を平滑化する。帯域平滑部15は、ライト制御部11から入力されたライト完了通知信号SWを遅延させることにより、バッファ部12から転送データをリードするタイミングを制御するためのリード制御信号SCを生成してリード制御部13に出力する。ライト完了通知信号SWを遅延させることは、ライト完了通知信号SWを平滑化することが意味する。従って、ライト完了通知信号SWを遅延させることにより生成されるリード制御信号SCは、平滑化後のライト完了通知信号SWである。
具体的には、帯域平滑部15は、入力画像データDiをなす画素データがライト制御部11によりバッファ部12に順次的にライトされるに従ってライト制御部11から順次的に出力されるライト完了通知信号SWを遅延させることにより、所定の時間間隔を空けて、前記ライト完了通知信号を前記リード制御信号としてリード制御部13に順次的に出力する。帯域平滑部15には、上記所定の時間間隔を設定するための設定信号Eが中央演算処理装置170(図1)から入力される。ただし、設定信号Eは、外部から直接的に帯域平滑部15に入力されてもよい。帯域平滑部15の詳細については後述する。
図3は、本発明の第1実施形態によるデータ転送装置10が備える帯域平滑部15の構成例を示すブロック図である。
帯域平滑部15は、FIFO(First−In First−OUT)メモリ1501、カウンタ1502,1503、リード判定部1504を備えている。
FIFOメモリ1501は、ライト制御部11から順次的に出力されるライト完了通知信号SWを一時的に保持するための要素である。FIFOメモリ1501は、例えば、従属接続された複数のレジスタから構成される。FIFOメモリ1501は、ライト完了通知信号SWを一時的に保持することにより、ライト完了通知信号SWを遅延させ、後述するリード判定部1504から入力されるFIFOリード命令に従ってライト完了通知信号SWをリード制御信号SCとして出力する。
カウンタ1502は、ライト制御部11から順次的に出力されるライト完了通知信号SWに応答して、FIFOメモリ1501に既に保持されたライト完了通知信号SWのうち、FIFOメモリ1501からリードされていないライト完了通知信号SWの数をカウントするための要素である。カウンタ1502は、ライト制御部11からFIFOメモリ1501にライト完了通知信号SWが入力される都度、カウントアップする。また、カウンタ1502は、FIFOメモリ1501からライト完了通知信号SWがリードされる都度、カウントダウンする。
カウンタ1502のカウント値は、FIFOメモリ1501に入力されたライト完了通知信号SWの数とFIFOメモリ1501から出力されたライト完了通知信号SWの数との差分(ゼロを含む自然数)を表す。従って、カウンタ1502のカウント値から、FIFOメモリ1501からリードされていないライト完了通知信号SWの有無を知ることができる。カウンタ1502のカウント値が1以上の値であれば、FIFOメモリ1501からリードされていないライト完了通知信号SWがFIFOメモリ1501に存在する。また、カウンタ1502のカウント値が0であれば、FIFOメモリ1501に入力されたライト完了通知信号SWは全てリードされ、FIFOメモリ1501からリードされていないライト完了通知信号SWはFIFOメモリ1501に存在しない。
カウンタ1503は、設定信号Eによってカウンタ1503に設定されるカウント値の最大値にカウント値が到達するまで所定周期でカウントアップする要素である。カウンタ1503のカウント値が、設定信号Eによって設定される最大値に到達すると、カウンタ1503は、カウント値が最大値に到達した旨を示す信号をリード判定部1504に出力し、その後、カウンタ1503は、FIFOメモリ1501のリードのタイミングで初期化される。即ち、カウンタ1503のカウント値は、FIFOメモリ1501からライト完了通知信号SWがリードされる度に初期化される。具体的には、カウンタ1503は、リード判定部1504がFIFOリード命令を出力すると、そのFIFOリード命令に応答して初期化される。カウンタ1503は、初期化された後、カウント値が最大値に到達するか、または、再度、初期化されるまで、繰り返しカウントアップする。
設定信号Eによってカウンタ1503に設定されるカウント値の最大値は、帯域平滑部15から順次的に出力されるリード制御信号SCの時間間隔Tsを与える。カウンタ1503に設定される上記最大値を増加させる程、リード制御信号SCの時間間隔Ts(図6)が大きくなる。この場合、共通バス180の帯域の平滑化が顕著になる一方、データの転送速度が低下する傾向を示す。逆に、上記最大値を減少させる程、リード制御信号SCの時間間隔が小さくなる。この場合、データの転送速度が上昇する一方、共通バス180の平滑化が抑制される傾向を示す。設定信号Eによってカウンタ1503に設定されるカウント値の最大値は、必要とされるデータ転送速度や共通バス180の帯域の平滑化の程度等に応じて任意に設定され得る。
リード判定部1504は、カウンタ1502,1503のカウント値に基づいてFIFOメモリ1501のリードを制御するための要素である。即ち、リード判定部1504は、カウンタ1503のカウント値が上記最大値によって与えられる所定値に到達し、且つ、FIFOメモリ1501からリードされていないライト完了通知信号SWがFIFOメモリ1501に存在することをカウンタ1502のカウント値が示す場合、ライト完了通知信号SWのリードを指示するためのFIFOリード命令をFIFOメモリ1501に出力する。
リード判定部1504は、上記FIFOリード命令をFIFOメモリ1501に出力することにより、FIFOメモリ1501からリードされていないライト完了通知信号SWをFIFOメモリ1501からリード制御信号SCとしてリードして出力させる。このとき、リード制御信号SCは、カウンタ1503に設定されるカウント値の最大値によって定まる所定の時間間隔Ts(図6)を空けて、帯域平滑部15のFIFOメモリ1501からリード制御部13に順次的に出力される。このように、リード制御信号SCが時間間隔Tsを空けてリード制御部13に入力されることにより、後述するように、共通バス180の帯域が平滑化される。
次に、図4に示すフローに沿って、図5から図7を参照しながら、第1実施形態によるデータ転送装置10の動作(データ転送方法)を説明する。
図4は、本発明の第1実施形態によるデータ転送装置10の動作フローの一例を示すフローチャートである。図5は、本発明の第1実施形態によるデータ転送装置10の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。図6は、本発明の第1実施形態によるデータ転送装置10の動作を説明するための図であり、(A)は、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートであり、(B)は、DMA転送要求が受け付けられるまでの時間が短い場合の入力画像データDiと出力転送データDoとの関係を説明するための図である。図7は、本発明の第1実施形態によるデータ転送装置10の動作を説明するための図であり、(A)は、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートであり、(B)は、DMA転送要求が受け付けられるまでの時間が長い場合の入力画像データDiと出力転送データDoとの関係を説明するための図である。
ここでは、第1実施形態による効果に関する理解を容易化するため、入力画像データDiには、画素データが密に含まれる領域と、画素データが疎に含まれる領域が存在するものとする。一般に、画素データが密に含まれる入力画像データDiを或る機能ブロックから共通バス180に転送する場合、当該機能ブロックはDMA転送要求を連続的に出力する。このため、DMA転送要求が出力される期間、他の機能ブロックのDMA転送要求がバスアービタに受け付けられなくなる状況が発生し得る。このような状況を回避するため、第1実施形態では、共通バス180の帯域を平滑化するが、共通バス180の帯域を平滑化すると、DMA転送要求が制限され、データ転送速度が低下する場合が起こり得る。そこで、本実施形態では、共通バス180の帯域を平滑化しつつ、データ転送速度の低下を抑制することを可能とする効果を得る。
図5(A)〜(D)には、データ転送装置10によるデータ転送の対象となる画素データが密に含まれる領域と画素データが疎に含まれる領域とが存在する入力画像データDiによる撮影画面Pの例が示されている。図5(A)に示された撮影画面Pは、画像(転送対象となる画素データ)の取り込みが行われる画像領域A1〜A3と、画像の取り込みが殆ど行われない画像領域(画像領域A1〜A3以外の領域)とを含んでいる。イメージセンサ110から取得される入力画像データDiには、画像領域A1〜A3を表示するための画素データが密に含まれている。換言すれば、画像領域A1〜A3には、画素データが密に含まれている。これに対し、入力画像データDiには、画像領域A1〜A3以外の領域を表示するための画素データは殆ど含まれていない。換言すれば、画像領域A1〜A3には、画素データが殆ど含まれていない。このため、図5(A)に例示する撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域と画素データが殆ど含まれない領域とが交互に存在する。
図5(B)に示された撮影画面Pは、上述の図5(A)に示す例と同様に、画像(転送対象となる画素データ)の取り込みが行われる画像領域A1〜A3と、画像の取り込みが殆ど行われない画像領域(画像領域A1〜A3以外の領域)とを含んでいる。ただし、図5(B)の例では、実際に転送対象となる画素データは、点線で示される各領域の上辺側の一部の画素データと、下辺側の一部の画素データのみである。この場合、点線で示される領域の画素データが入力画像データDiに密に含まれ、その他の領域の画素データは疎である。この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域と画素データが殆ど含まれない領域とが交互に存在する。
図5(C)に示された撮影画面Pは、広角画像PWと望遠画像PTとを含む。このように広角画像PWと望遠画像PTとを含む撮影画面Pの画素データを転送するマルチレコーディングでは、望遠画像PTの領域が、画像(転送対象となる画素データ)の取り込みが行われる領域に相当し、望遠画像PTの領域には、望遠画像PTの領域の画素データが入力画像データDiに密に含まれる。その他の領域は、画像の取り込みが殆ど行われない領域に相当し、上記その他の領域には、画素データが疎に含まれる。この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域と画素データが殆ど含まれない領域とが交互に存在する。所謂デジタルズーミングによりイメージセンサ110から取得される入力画像データも同様である。
図5(D)に示された撮影画面Pは、露出やホワイトバランス等の評価値を取得するための複数の評価領域を含んでいる。図5(D)では、複数の評価領域は、点線によって示されている。上記評価値は、各評価領域の最後の走査線に対応した入力画像データDiに含まれている。このため、各評価領域の最後の走査線に対応した入力画像データDiには、上記評価値が密に含まれている。即ち、各評価領域の最後の走査線に対応した領域には、評価のための画素データが密に含まれ、その他の領域には、評価のための画素データが疎に含まれる。従って、この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、評価値に関し、画素データが密に含まれる領域と画素データが疎に含まれる領域とが存在する。
次に、上述した図5に例示する撮影画面Pを形成する入力画像データDiがイメージセンサ110からデータ転送装置10に入力されたときの動作について、データ転送装置10から出力されるDMA転送要求REQがバスアービタ161に速やかに受け付けられる場合と、DMA転送要求REQが受け付けられるまでに長時間を要する場合とに分けて説明する。
なお、理解の容易化のため、入力画像データDiの画素データが密に含まれる領域には、6個の画素データが連続して存在するものとする。また、入力画像データDiには、連続した6個の画素データを1つのグループとして、複数のグループが含まれているものとする。ただし、この例に限定されず、入力画像データDiに含まれる画素データの配列は任意である。
(1)DMA転送受付ACKが速やかに受信される場合
イメージセンサ110から出力された入力画像データDiをなす画素データが、32画素分の画素データに相当する64バイト単位で画像抽出部122からデータ転送部125をなすデータ転送装置10のライト制御部11に順次入力される。ライト制御部11は、入力画像データDiを、共通バス180に転送される転送データとして32画素分の64バイト単位でバッファ部12にライトする(ステップS1)。また、ライト制御部11は、入力画像データDiに含まれる32画素分の64バイトの画素データをバッファ部12にライトする都度、図6(A)に示すように、入力画像データDiをバッファ部12にライトした旨を示すライト完了通知信号SWを出力する(ステップS1)。
図6(A)では、ライト完了通知信号SWを模式的に示すシンボルに付加された括弧書きの数字は、入力画像データDiに密に含まれる6個の画素データの配列順に対応している。ここで、例えば「ライト完了通知信号SW(1)」なる表記は、入力画像データDiに密に含まれる6個の画素データのうち、先頭の画素データがバッファ部12にライトされた場合にライト制御部11から出力される信号を表している。このような信号の表記はリード制御信号SCについても同様である。
続いて、帯域平滑部15は、ライト完了通知信号SWに基づいて、共通バス180の帯域を平滑化するようにバッファ部12から転送データをリードするためのリード制御信号SCを生成する(ステップS2)。前述したように、帯域平滑部15は、ライト制御部11から順次出力されるライト完了通知信号SWを、図3に示すFIFOメモリ1501に順次入力する。そして、帯域平滑部15は、FIFOメモリ1501に保持されたライト完了通知信号SWをリード制御信号SCとして一定の時間間隔Tsを空けて入力順に出力する。
図6(A)の例では、ライト制御部11から帯域平滑部15に出力されるライト完了通知信号SW(1)〜SW(6)と、帯域平滑部15から出力されるリード制御信号SC(1)〜SC(6)とが模式的に示されている。リード制御信号SC(1)〜SC(6)の時間間隔Tsは、前述した図3に示すカウンタ1503に設定されるカウント値の最大値によって与えられる。
入力画像データDiに画素データの疎密が存在する場合、共通バス180の帯域を平滑化するためには(即ち、共通バス180に出力されるDMA転送要求REQの送信間隔を均一化するためには)、画素データが密に存在する入力画像データDiを転送する際のDMA転送要求REQの送信間隔を広げればよい。この観点から、図3に示すカウンタ1503に設定されるカウント値の最大値は、リード制御信号SCの時間間隔Tsがライト完了通知信号SWの時間間隔よりも大きくなるように設定される。ライト完了通知信号SWの時間間隔は、入力画像データDiに含まれる画素データの時間間隔に対応する。
ここで、リード制御信号SCの時間間隔Tsが大きくなる程、DMA転送要求REQの時間間隔Trも大きくなるので、データ転送速度が低下する傾向を示す。また、リード制御信号SCの時間間隔Tsが大き過ぎると、その後のデータ転送を伴う処理を阻害する場合も起こり得る。このため、カウンタ1503に設定されるカウント値の最大値は、必要なデータ転送速度が得られる範囲で設定される。
続いて、リード制御部13は、帯域平滑部15から入力されるリード制御信号SCに応答して、バッファ部12から転送データをリードする(ステップS3)。ここで、リード制御部13は、前回のリード制御信号SCに応答してバッファ部12から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKがインターフェイス部14で受信されていることを条件に、バッファ部12から今回の転送データをリードする。
インターフェイス部14は、リード制御部13によりバッファ部12から転送データがリードされると、DMA転送要求REQを共通バス180に出力し、バッファ部12からリードされた転送データを所定のバスプロトコルに従って共通バス180に転送する(ステップS4)。具体的には、図6(A)に示すように、インターフェイス部14は、一定の時間間隔Tsで帯域平滑部15から入力されるリード制御信号SC(1)〜SC(6)に対応して、6個のDMA転送要求REQを順次出力する。
ここでは、インターフェイス部14から出力されたDMA転送要求REQがバスアービタ161で速やかに受け付けられる場合を想定しているので、図6(A)に例示するように、インターフェイス部14は、次回のDMA転送要求REQを出力する前に、今回のDMA転送要求REQがバスアービタ161に受け付けられた旨を示すDMA転送受付ACKを受信する。そして、インターフェイス部14は、リード制御部13によりバッファ部12からリードされた転送データを共通バス180に転送する(ステップS4)。
このようにDMA転送要求REQがバスアービタ161に速やかに受け付けられる状況下では、図6(B)において第1グループとして示されている6個の画素データを密に含む入力画像データDiは、カウンタ1503に設定されたカウント値の最大値によって与えられる時間間隔Tsに応じた時間間隔で出力転送データDoとしてインターフェイス部14から共通バス180に出力される。図6(B)に示す例では、第1グループの後ろに続く第2グループの画素データを密に含む入力画像データDiが入力される前に、第1グループの画素データのデータ転送が完了している。
従って、DMA転送要求REQが速やかに受け付けられる状況下では、共通バス180の帯域を平滑化することにより、DMA転送要求REQの時間間隔Trに余裕が生まれる。このため、画素データが密に存在する入力画像データDiを転送する際、バスアービタ161が各機能ブロックのDMA転送要求REQの調停を適切に行うことができ、バスアービタ161の負担を軽減することが可能になる。
また、画素データが密に存在する入力画像データDiを転送する際のDMA転送要求REQの時間間隔Trを広げても、各グループの画素データのデータ転送は、相互に干渉することなく行われる。このため、共通バス180の帯域を平滑化しても、データ転送速度を低下させることなく、バスアービタ161によるアービトレーションに従って、イメージセンサ110の画素データをDRAM163に転送することが可能になる。
また、図6の例では、共通バス180の帯域を平滑化することにより、イメージセンサ110から取得された画素データをDRAM163に転送する機能ブロックによって共通バス180が占有される頻度が低下し、他の機能ブロックのDMA転送要求REQがバスアービタ161で受け付けられる頻度が高まる。このため、バスアービタ161によるアービトレーションにおいて、イメージセンサ110の画素データをDRAM163に転送するための機能ブロックの優先度を高く設定しても、他の機能ブロックの処理に与える影響を抑制することができ、他の機能ブロックの処理の破綻を防止することが可能になる。
(2)DMA転送要求REQが受け付けられるまでに長時間を要する場合
次に、図7を参照して、DMA転送要求に対するDMA転送受付ACKが受信されるまでに長時間を要する場合の動作を説明する。
なお、ライト完了通知信号SWおよびリード制御信号SCの表記については、図6の例に示す場合と同様である。
上述したDMA転送受付ACKが速やかに受信される場合と同様に、ライト制御部11は、イメージセンサ110から取得された画素データを含む入力画像データDiをバッファ部12にライトする都度、ライト完了通知信号SWを順次出力する(ステップS1)。帯域平滑部15からは、ライト制御部11から出力されるライト完了通知信号SWに応答して、リード制御信号SCを一定の時間間隔Tsを空けて順次出力する(ステップS2)。リード制御部13は、帯域平滑部15から出力されるリード制御信号SCに応答して、バッファ部12から転送データをリードする(ステップS3)。インターフェイス部14は、リード制御信号SCに応答してリード制御部13によりリードされた転送データのDMA転送要求REQを出力し、その転送データを転送する(ステップS4)。
ここで、最初のリード制御信号SC(1)に応答してインターフェイス部14から出力された最初のDMA転送要求REQが、例えば共通バス180の輻輳等により、バスアービタ161に受け付けられるまでに長時間を要した場合を考える。図7(A)の例では、時刻t0でインターフェイス部14から出力された最初のDMA転送要求REQがバスアービタ161に時刻t1で受け付けられるまでに長時間を要している。その結果、最初のDMA転送要求REQに対するDMA転送受付ACKは、3番目のリード制御信号SC(3)が出力された後の時刻t1でインターフェイス部14に受信されている。
時刻t1でDMA転送受付ACKがインターフェイス部14に受信されると、上述のステップS3において、リード制御部13は、2番目のリード制御信号SC(2)に応答してバッファ部12から次の転送データをリードする。そして、上述のステップS4において、インターフェイス部14は、2番目のリード制御信号SC(2)に応答してリード制御部13によりリードされた転送データのDMA転送要求REQを出力すると共に、その転送データを共通バス180に転送する。
この場合、2番目以降のリード制御信号SC(2)〜SC(6)に応答してリード制御部13によってバッファ部12からリードされる転送データが一時的に滞留する。図7(B)の例では、最初のリード制御信号SC(1)に応答してバッファ部12からリードされた転送データのDMA転送要求REQがバスアービタ161に受け付けられるまでに長時間を要したため、その間、2番目以降のリード制御信号SC(2)〜SC(6)に応答して転送されるべき転送データDo(2)〜Do(3)の転送が滞留している。
しかしながら、第1実施形態によれば、次に説明するように、DMA転送要求REQが速やかに受け付けられる状況が回復すれば、滞留した転送データの転送が短い時間間隔で速やかに行われ、転送データの転送の遅れを挽回することができる。
具体的に説明する。図7(A)の例では、時刻t1で、最初のリード制御信号SC(1)に加えて、2番目のリード制御信号SC(2)および3番目のリード制御信号SC(3)が帯域平滑部15からリード制御部13に既に出力されている。このため、リード制御部13は、最初のリード制御信号SC(1)に応答してバッファ部12からリードした最初の転送データのDMA転送受付ACKが受信されると、上述のステップS3において、即座に、バッファ部12から2番目のリード制御信号SC(2)に応答して次の転送データをリードする。そして、上述のステップS4において、インターフェイス部14は、2番目のリード制御信号SC(2)に応答してリードされた転送データのDMA転送要求REQを共通バス180に出力すると共に、その転送データを共通バス180に転送する。
ここで、時刻t1の後、DMA転送要求REQが速やかに受け付けられる状況が維持される限り、DMA転送要求REQは、カウンタ1503のカウント値の最大値に制限されることなく、最小限の時間間隔でインターフェイス部14から出力される。このため、滞留した2番目以降の転送データが速やかに転送され、転送データの転送の遅れを挽回することができる。
図7(B)に示す例では、第1グループの次の第2グループの画素データを密に含む入力画像データDiが入力される前に、第1グループの画素データのデータ転送の遅れが挽回されている。従って、第1グループの最初の転送データの転送が遅れたことによる処理の影響を防止することができる。
従って、第1実施形態によれば、共通バス180の帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができる。
(第2実施形態)
次に、本発明の第2実施形態を説明する。
図8は、本発明の第2実施形態によるデータ転送装置が備える帯域平滑部25の構成例を示すブロック図である。
第2実施形態による帯域平滑部25は、上述の図3に示す第1実施形態による帯域平滑部15の構成において、セレクタ1505を更に備えている。その他は第1実施形態と同様である。
セレクタ1505には、例えば図1に示す中央演算処理装置170から2種類の設定信号E1,E2が入力される。また、画像抽出部122から設定信号E3が入力される。ここで、設定信号E1は、上述の第1実施形態の設定信号Eと同様の信号であり、カウンタ1503のカウント値の最大値を設定するための信号である。設定信号E2は、設定信号E1と同様にカウンタ1503のカウント値の最大値を設定するための信号である。
ただし、設定信号E2によって設定されるカウント値の最大値は、設定信号E1によって設定されるカウント値の最大値よりも小さい。従って、設定信号E2によってカウンタ1503のカウント値の最大値が設定された場合には、設定信号E1によってカウンタ1503のカウント値の最大値が設定された場合に比較して、DMA転送要求REQの時間間隔Tsが短くなる。
設定信号E3は、リード制御部13によってバッファ部12からリードされる転送データが最終転送データであることを示す最終転送情報を含む信号である。セレクタ1505は、設定信号E3に含まれる最終転送情報が最終転送データを示す場合、設定信号E2を選択してカウンタ1503およびリード判定部1504に出力する。その他の場合、セレクタ1505は、設定信号E1を選択してカウンタ1503およびリード判定部1504に出力する。
画像抽出部122は、入力画像データDi(前処理部121によって前処理が施された入力画像データ)から画像データを抽出する際に、入力画像データDiがフレーム内の最終転送データであるか否かを判定する。そして、画像抽出部122は、入力画像データDiが最終転送データでない場合、その旨(入力画像データDiが最終転送データでない旨)を示す最終転送情報を含む設定信号E3を帯域平滑部25のセレクタ1505に出力する。この場合、セレクタ1505により設定信号E1が選択されてカウンタ1503およびリード判定部1504に出力される。
これに対し、画像抽出部122は、入力画像データDi(前処理部121によって前処理が施された入力画像データ)がフレーム内の最終転送データである場合、その旨(入力画像データDiが最終転送データである旨)を示す最終転送情報を含む設定信号E3をセレクタ1505に出力する。この場合、帯域平滑部25のセレクタ1505により設定信号E2が選択されてカウンタ1503およびリード判定部1504に出力される。
上述のセレクタ1505を備えたことにより、最終のデータ転送以外の通常のデータ転送では、上述の第1実施形態と同様に帯域平滑部25が動作し、共通バス180の帯域の平滑化が実施される。また、最終のデータ転送では、設定信号E2によりカウンタ1503のカウント値の最大値として小さい値が設定されるので、リード制御信号SCの時間間隔Tsが短くなり、DMA転送要求REQの時間間隔Trも短くなる。この場合、共通バス180の帯域の平滑化は抑制されるが、その後のデータ転送との干渉を防止することが可能になる。従って、第2実施形態によれば、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。
(第3実施形態)
次に、本発明の第3実施形態を説明する。
図9は、本発明の第3実施形態によるデータ転送装置30の構成例を示すブロック図である。データ転送装置30は、上述した第1実施形態による図2に示すデータ転送装置10の構成において、帯域平滑部15に代えて、帯域平滑部35を備えている。その他のデータ転送装置30の構成は、第1実施形態のデータ転送装置10の構成と同様である。
図10は、本発明の第3実施形態によるデータ転送装置30が備える帯域平滑部35の構成例を示すブロック図である。帯域平滑部35は、上述した第2実施形態による図8に示す帯域平滑部25の構成において、バッファ余裕度判定部1506を更に備えている。その他の帯域平滑部35の構成は、第2実施形態の帯域平滑部25の構成と同様である。
バッファ余裕度判定部1506は、バッファ部12の残容量(バッファ余裕度)を判定するための要素である。帯域平滑部35は、バッファ余裕度判定部1506の判定結果に応じて、共通バス180に転送される転送データ間の時間間隔(設定信号E1,E2により設定された時間間隔Ts1,Ts2)を調整する。具体的には、帯域平滑部35は、バッファ部12の残容量が少ない程、転送データ間の時間間隔Tsを減少させる。第3実施形態では、帯域平滑部35は、第2実施形態と同様に設定信号E1,E2に応じてリード制御信号SCの時間間隔を設定すると共に、バッファ部12の残容量に応じてリード制御信号SCの時間間隔を調整する。
なお、設定信号E1,E2によるリード制御信号SCの時間間隔の調整を省略してもよく、この場合、共通バス180の帯域の平滑化は行われない。
帯域平滑部35は、ライト完了通知信号SWの数(即ち、バッファ部12にライトされたデータの数)とリード制御信号SCの数(即ち、バッファ部12からリードされたデータの数)との差分から、バッファ部12の残容量を取得し、この残容量からバッファ部12の残容量を把握する。バッファ部12の残容量が少ないことは、バッファ部12にライトできなくなる可能性が高まり、バッファ部12の機能が損なわれる可能性が高まることを意味する。バッファ余裕度判定部1506は、バッファ部12の残容量(バッファ余裕度)を示す信号Mをカウンタ1503に出力する。第3実施形態では、信号Mは、バッファ部12の残容量に余裕があること、残容量が少ないこと、残容量が殆どないことの何れかを示す。
図11は、本発明の第3実施形態によるデータ転送装置30が備える帯域平滑部35の動作を説明するための図であり、バッファ部12の残容量と転送データ間の時間間隔Ts11(=Ts1),Ts12,Ts13の関係を説明するための図である。
カウンタ1503は、バッファ余裕度判定部1506から入力される信号Mに基づいて、設定信号E1,E2に応じて設定されたカウント値の最大値を調整する。図11の例では、帯域平滑部35は、バッファ部12の残容量に余裕があることを信号Mが示す場合、設定信号E1によって与えられる時間間隔Ts1に所定の第1係数「1」を乗じて得られる時間間隔Ts11にリード制御信号SCの時間間隔Tsを設定する。この場合、共通バス180に転送される転送データDoの時間間隔Tsが時間間隔Ts1と等しい値に設定される。
また、帯域平滑部35は、時刻t31でバッファ部12の残容量が少ないことを信号Mが示す場合、設定信号E1によって与えられる時間間隔Ts1に所定の第2係数「0.5」を乗じた時間間隔Ts12にリード制御信号SCの時間間隔Tsを設定する。この場合、共通バス180に転送される転送データDoの時間間隔Tsが時間間隔Ts1の2分の1の値(=Ts1×0.5)に設定される。
更に、帯域平滑部35は、時刻t32でバッファ部12の残容量が殆どないことを信号Mが示す場合、設定信号E1によって与えられる時間間隔Ts1に所定の第3係数「0.2」を乗じた時間間隔Ts13にリード制御信号SCの時間間隔Tsを設定する。これにより、共通バス180に転送される転送データDoの時間間隔が時間間隔Ts1の5分の1の値(=Ts1×0.2)に設定される。
なお、上述の例において、第1係数、第2係数、第3係数の各数値は一例に過ぎず、バッファ部12の残容量を調整することができることを限度に、各係数の数値を任意に設定することができる。
上述のように、帯域平滑部35は、信号Mによって示されるバッファ部12の残容量が少ない程、設定信号E1によって設定されたリード制御信号SCの時間間隔Ts1を減少させ、転送データ間の時間間隔Ts1を減少させる。設定信号E2によって設定される転送データ間の時間間隔Ts2についても同様である。この結果、バッファ部12へのライト速度よりもバッファ部12からのリード速度が相対的に増加し、これにより、バッファ部12の残容量が増えるようになる。
第3実施形態によれば、バッファ部12の残容量に応じて転送データ間の時間間隔Tsを制御するので、バッファ部12に対するデータのライト動作を安定化させることができ、バッファ部12のバッファ機能を安定的に維持することができる。
次に、上述した第1実施形態から第3実施形態による効果を、特許文献1による技術と比較して検証する。
図12は、本発明の実施形態によるデータ転送装置の効果を補足するための従来技術によるデータ転送装置の動作例を説明するための図である。ここで、図12(A)は、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートであり、図12(B)は、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。
特許文献1の技術によれば、図12(A)に例示するように、DMA転送要求REQの時間間隔TINTは一定に固定される。このため、図12(B)に例示するように、時刻t10で最初のDMA転送要求REQが共通バスに出力されてから時刻t11でDMA転送受付ACKが受信されるまでに長時間を要した場合、最初のDMA転送要求REQから一定の時間間隔TINTを空けて、時刻t12で次のDMA転送要求REQが出力される。換言すれば、最初のDMA転送要求REQが受け付けられても、一定の時間間隔TINTに相当する時間が経過しなければ、次のDMA転送要求REQは出力されない。このため、最初のDMA転送要求REQが受け付けられるまでに滞留した転送データを速やかに転送することができない。
これに対し、前述した本発明の第1実施形態および第2実施形態によれば、DMA転送要求REQが受け付けられるまで長時間を要する状況下では、DMA転送要求REQの時間間隔Trは、帯域平滑部15から出力されるリード制御信号SCの時間間隔Tsに制限されず、最小の時間間隔でDMA転送要求REQが出力される。このため、バスアービタ161に受け付けられるまでに長時間を要したDMA転送要求REQの後のDMA転送要求REQを速やかに出力することができる。従って、DMA転送要求REQが受け付けられるまでに長時間を要したとしても、その間に滞留した転送データを速やかに転送することができ、データ転送速度の低下を抑制することができる。
また、前述した本発明の第1実施形態および第2実施形態によれば、DMA転送要求REQが速やかに受け付けられる状況下では、共通バス180の帯域を平滑化するために、DMA転送要求REQの時間間隔Trは、帯域平滑部15から出力されるリード制御信号SCの時間間隔Tsに応じて設定される。このようにDMA転送要求REQの時間間隔Trが設定されたとしても、図7(A)に例示したように、各グループの画素データは相互に干渉しないので、データ転送速度は損なわれない。
従って、上述した実施形態によれば、共通バス180を平滑化することにより、優先度の低い機能ブロックのDMA転送要求REQの受け付けを可能とすると共に、優先度の高い機能ブロックのDMA転送要求REQが長時間にわたって受け付けられない状況が発生しても、データ転送の遅れを挽回することができる。従って、優先度の高い機能ブロックの処理を優先的に実施すると共に、優先度の低い機能ブロックの処理の破綻を有効に防止することができる。
次に、本発明の実施形態の主要な効果をまとめる。
本発明の第1実施形態から第3実施形態によれば、共通バス180の帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができる。また、第2実施形態によれば、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。更に、本発明の第3実施形態によれば、バッファ部12の残容量に応じて転送データ間の時間間隔Tsを調整するようにしたので、バッファ部12のバッファ機能を安定化させることができる。
また、バッファ部12に保持されている転送データ量に応じてDMA転送要求REQを出力することができ、これにより、転送データ量に応じて共通バス180の帯域を柔軟に平滑化することができる。
また、DMA転送要求が長時間にわたって受け付けられない場合であっても、転送データのバッファとしての処理の破綻を抑制することができる。
また、DMA転送要求REQを出力する前に帯域を制御することができ、共通バス180の帯域の制御が容易になる。
また、DMA転送要求REQの時間間隔Trを制御するための複雑な回路を備える必要がないので、回路の規模の抑制することができる。
また、DMA転送要求REQがバスアービタ161に速やかに受け付けられる状況下では、共通バス180の帯域を平滑化することができる。従って、バスアービタ161によるアービトレーションにおける優先度の高い機能ブロックの処理を実施しつつ、優先度の低い機能ブロックの処理を確保することができる。
また、DMA転送要求REQがバスアービタ161に受け付けられるまでに長時間を要する状況が発生しても、その後、DMA転送要求REQがバスアービタ161に速やかに受け付けられる状況が回復すれば、DMA転送要求REQが受け付けられるまでに長時間を要したことにより滞留したデータ転送の遅れを挽回することができる。
また、画素データの疎密を有する入力画像データDiが入力された場合、DMA転送要求REQを時間軸上で拡散させることにより、共通バス180の帯域を平滑化することができる。
また、DMA転送によるデータレートが高い状態に合わせて各機能ブロックの優先度をバスアービタに設定した場合、優先度の機能ブロックのDMA転送要求が連続しても、優先度の低い他の機能ブロックのDMA転送要求をバスアービタで受け付けることが可能になる。このため、優先度の高い機能ブロックにバス権が占有されることがなくなり、優先度の低い機能ブロックがバス権を確保することが可能になる。従って、優先度の低い機能ブロックの処理の破綻を防止することができる。
また、簡易な構成により、DMA転送要求REQの時間間隔Trを柔軟に調整することができる。
また、バスアービタ161によるアービトレーションのルールが変更されても、設定信号Eによりカウンタ1503のカウント値の最大値を調整することにより、共通バス180の帯域を柔軟に平滑化することができる。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
10,30…データ転送装置
11…ライト制御部
12…バッファ部
13…リード制御部
14…インターフェイス部(I/F部)
15,25,35…帯域平滑部
100…撮像システム
110…イメージセンサ
120,130,140,150…機能ブロック
121…前処理部
122,123…画像抽出部
124…評価値生成部
125〜127…データ転送部
131…データ転送部
132…表示処理部
133…表示デバイス
141,142…データ転送部
143…カードインターフェイス部
144…記録媒体
151,152…データ転送部
153…画像処理部153
161…バスアービタ
162…DRAMインターフェイス部
163…DRAM
170…中央演算処理装置
1501…FIFOメモリ
1502,1503…カウンタ
1504…リード判定部
1505…セレクタ
1506…バッファ余裕度判定部

Claims (4)

  1. 共通バスに転送される転送データを一時的に格納するバッファ部と、
    入力データを前記転送データとして前記バッファ部にライトすると共に、前記入力データを前記バッファ部にライトした旨を示す通知信号を出力するライト制御部と、
    前記バッファ部から前記転送データをリードするリード制御部と、
    前記リード制御部により前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送するインターフェイス部と、
    前記通知信号を遅延させ、前記バッファ部から前記転送データをリードするタイミングを制御するためのリード制御信号を生成して前記リード制御部に出力することにより、前記共通バスの帯域を平滑化する帯域平滑部と、
    を備え、
    前記リード制御部は、前回のリード制御信号に応答して前記バッファ部から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKが前記インターフェイス部で受信されていることを条件に、前記バッファ部から今回の転送データをリードする
    データ転送装置。
  2. 前記帯域平滑部は、
    前記入力データをなす画素データが前記ライト制御部により前記バッファ部に順次的にライトされるに従って前記ライト制御部から順次的に出力される前記通知信号を遅延させることにより、所定の時間間隔を空けて、前記通知信号を前記リード制御信号として順次的に出力することを特徴とする請求項1に記載のデータ転送装置。
  3. 前記帯域平滑部は、
    前記ライト制御部から順次的に出力される前記通知信号を保持するためのFIFOメモリと、
    前記ライト制御部から順次的に出力される前記通知信号に応答して、前記FIFOメモリに保持された通知信号のうち、リードされていない通知信号の数をカウントする第1のカウンタと、
    前記所定の時間間隔を与えるカウント値に到達するまで所定周期でカウントアップし、前記FIFOメモリのリードのタイミングで初期化される第2のカウンタと、
    前記第2のカウンタのカウント値が所定値に到達し、且つ、前記第1のカウンタのカウント値が、前記FIFOメモリからリードされていない通知信号が前記FIFOメモリに存在することを示す場合、前記FIFOメモリからリードされていない通知信号を前記FIFOメモリから前記リード制御信号としてリードして出力させるリード判定部と、
    を備えたことを特徴とする請求項2に記載のデータ転送装置。
  4. ライト制御部が、共通バスに転送される転送データとして入力データをバッファ部にライトし、前記入力データを前記バッファ部にライトした旨を示す通知信号を出力する第1ステップと、
    帯域平滑部が、前記通知信号を遅延させ、前記共通バスの帯域を平滑化するように前記バッファ部から前記転送データをリードするためのリード制御信号を生成する第2ステップと、
    リード制御部が、前記リード制御信号に応答して前記バッファ部から前記転送データをリードする第3ステップと、
    インターフェイス部が、前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送する第4ステップと、
    を含み、
    前記第3ステップにおいて、前回のリード制御信号に応答して前記バッファ部から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKが発行されていることを条件に、前記リード制御部が、前記バッファ部から今回の転送データをリードする
    データ転送方法。
JP2015120449A 2015-06-15 2015-06-15 データ転送装置およびデータ転送方法 Active JP6539509B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015120449A JP6539509B2 (ja) 2015-06-15 2015-06-15 データ転送装置およびデータ転送方法
CN201680033931.9A CN107710177B (zh) 2015-06-15 2016-06-02 数据输送装置和数据输送方法
PCT/JP2016/066394 WO2016203971A1 (ja) 2015-06-15 2016-06-02 データ転送装置およびデータ転送方法
DE112016002168.2T DE112016002168T5 (de) 2015-06-15 2016-06-02 Datentransfervorrichtung und Datentransferverfahren
US15/813,853 US10346323B2 (en) 2015-06-15 2017-11-15 Data transfer device and data transfer method for smoothing data to a common bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015120449A JP6539509B2 (ja) 2015-06-15 2015-06-15 データ転送装置およびデータ転送方法

Publications (3)

Publication Number Publication Date
JP2017004430A JP2017004430A (ja) 2017-01-05
JP2017004430A5 JP2017004430A5 (ja) 2018-06-07
JP6539509B2 true JP6539509B2 (ja) 2019-07-03

Family

ID=57544921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015120449A Active JP6539509B2 (ja) 2015-06-15 2015-06-15 データ転送装置およびデータ転送方法

Country Status (5)

Country Link
US (1) US10346323B2 (ja)
JP (1) JP6539509B2 (ja)
CN (1) CN107710177B (ja)
DE (1) DE112016002168T5 (ja)
WO (1) WO2016203971A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7072404B2 (ja) * 2018-03-01 2022-05-20 キヤノン株式会社 画像処理装置及びその制御方法、プログラム、記憶媒体
US11573891B2 (en) * 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
KR102456176B1 (ko) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970003337B1 (ko) * 1994-07-07 1997-03-17 현대전자산업 주식회사 데이타 버스 라인 부하 감소 장치를 포함한 메모리 소자
JP2002135663A (ja) * 2000-10-26 2002-05-10 Nec Eng Ltd 送信装置
JP2006039672A (ja) 2004-07-22 2006-02-09 Olympus Corp バス要求制御回路
JP5057360B2 (ja) * 2006-08-08 2012-10-24 ルネサスエレクトロニクス株式会社 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
JP4692621B2 (ja) * 2008-12-12 2011-06-01 ソニー株式会社 情報処理装置、バッファ制御方法およびコンピュータプログラム
JP2010199880A (ja) * 2009-02-24 2010-09-09 Olympus Imaging Corp 撮像装置
CN101833424B (zh) * 2010-03-26 2013-07-10 中国科学院光电技术研究所 基于fpga的高速存储与传输装置
CN101867573A (zh) * 2010-05-12 2010-10-20 华为技术有限公司 一种数据发送方法、装置和通信系统
JP5834182B2 (ja) * 2010-07-27 2015-12-16 パナソニックIpマネジメント株式会社 データ転送制御装置及びデータ転送制御方法
JP5744650B2 (ja) * 2011-07-06 2015-07-08 オリンパス株式会社 バスモニタ装置、バスモニタ方法、およびプログラム
JP5829106B2 (ja) * 2011-11-16 2015-12-09 オリンパス株式会社 信号転送回路
JP2015053643A (ja) * 2013-09-09 2015-03-19 オリンパス株式会社 撮像装置
JP6403430B2 (ja) * 2014-05-23 2018-10-10 キヤノン株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
WO2016203971A1 (ja) 2016-12-22
US20180074979A1 (en) 2018-03-15
US10346323B2 (en) 2019-07-09
JP2017004430A (ja) 2017-01-05
CN107710177A (zh) 2018-02-16
DE112016002168T5 (de) 2018-02-15
CN107710177B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US10241721B2 (en) Image processing device and image processing method
JP6210743B2 (ja) データ処理装置およびデータ転送制御装置
US20190079881A1 (en) Memory access control device, image processing device, and imaging device
JP6539509B2 (ja) データ転送装置およびデータ転送方法
JP4895355B2 (ja) メモリ制御装置
US9026697B2 (en) Data processing apparatus
US10719458B2 (en) Data transfer device, image processing device, and imaging device
US20190324646A1 (en) Memory access device, image-processing device, and imaging device
JP6564625B2 (ja) データ転送装置およびデータ転送方法
US11314664B2 (en) Memory access device, image processing device and imaging device
JP6473049B2 (ja) 表示制御装置及び撮像装置
US9672174B2 (en) Data-processing apparatus and data transfer control device
WO2019043822A1 (ja) メモリアクセス装置、画像処理装置、および撮像装置
US20140009478A1 (en) Image processing apparatus and control method
US20120144150A1 (en) Data processing apparatus
JP5224492B2 (ja) 画像データ転送制御装置及び画像データ転送方法並びに該画像データ転送装置を有するカメラ
WO2020008522A1 (ja) バス調停装置、バス調停システム、および撮像装置
JP2008186479A (ja) デジタルカメラ
JP2014127757A (ja) 撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R151 Written notification of patent or utility model registration

Ref document number: 6539509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250