(57)【特許請求の範囲】
【請求項１】
周期的に繰り返して連続するデータを出力先のタイミングでメモリから読み出して１周期分のデータより小さい記憶容量を有するバッファメモリに一時的に書き込む一方、バッファメモリへの書き込みのタイミングと非同期な処理装置の読出タイミングで上記データを上記バッファメモリから読み出すデータ転送方法であって、
上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、
上記記憶容量が画像データの１水平ライン分よりも小さく、
さらに、１周期の間に上記バッファメモリへの上記記憶容量分の書き込みを、予め定められたスキップライン数のラインを飛び越して行うことによって、上記メモリから読み出されるタイミングで定まる速度に合わせて複数回行うことを特徴とするデータ転送方法。
【請求項２】
上記メモリから読み出され、上記バッファメモリに書き込まれる前の画像データに拡大または縮小処理が施されていることを特徴とする請求項１に記載のデータ転送方法。
【請求項３】
上記スキップライン数は、上記バッファメモリが記憶容量分の画素データを取り込む間に出力される画像データのライン数よりも１つ多いライン数に設定されていることを特徴とする請求項１または２記載のデータ転送方法。
【請求項４】
周期的に繰り返して連続するデータを出力先のタイミングでメモリから読み出して１周期分のデータより小さい記憶容量を有するバッファメモリに一時的に書き込む一方、バッファメモリへの書き込みのタイミングと非同期な処理装置の読出タイミングで上記データを上記バッファメモリから読み出すデータ転送装置であって、
上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、
上記記憶容量が画像データの１水平ライン分よりも小さく、
さらに、１周期の間に上記バッファメモリへの上記記憶容量分の書き込みを、予め定められたスキップライン数のラインを飛び越して行うことによって、上記メモリから読み出されるタイミングで定まる速度に合わせて複数回行わせる書込制御手段を備えていることを特徴とするデータ転送装置。
【請求項５】
上記メモリから読み出され、上記バッファメモリに書き込まれる前の画像データに拡大または縮小処理が施されていることを特徴とする請求項４に記載のデータ転送装置。
【請求項６】
上記スキップライン数は、上記バッファメモリが記憶容量分の画素データを取り込む間に出力される画像データのライン数よりも１つ多いライン数に設定されていることを特徴とする請求項４または５記載のデータ転送装置。
【請求項７】
周期的に繰り返して連続するデータを格納するメモリ手段と、
上記メモリ手段から出力先のタイミングで読み出す読出制御手段と、
上記メモリ手段から読み出されたデータに所定の処理を施す処理手段とを備え、
上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、
さらに、記憶容量が画像データの１水平ライン分よりも小さく、上記メモリ手段から読み出されたデータを一時的に書き込むバッファメモリと、１周期の間にバッファメモリへの上記記憶容量分の書き込みを、予め定められたスキップライン数のラインを飛び越して行うことによって、上記メモリから読み出されるタイミングで定まる速度に合わせて複数回行わせる書込制御手段と、上記バッファメモリへの書き込みのタイミングと非同期な処理装置の読出タイミングで上記データを上記バッファメモリから読み出す非同期読出手段とを有するデータ転送装置とを備えていることを特徴とするデータ処理装置。
【請求項８】
上記処理手段が、画像データに拡大または縮小処理を施す拡大／縮小手段であることを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
上記スキップライン数は、上記バッファメモリが記憶容量分の画素データを取り込む間に出力される画像データのライン数よりも１つ多いライン数に設定されていることを特徴とする請求項７または８記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一旦メモリに取り込んだ入力データをＣＰＵなどの処理装置において処理するために、その処理装置に所望のタイミングで転送するデータ転送方法およびその装置ならびにその装置を用いたデータ処理装置に関するものである。
【０００２】
【従来の技術】
従来、ビデオキャプチャー装置などの画像合成装置においては、外部から入力されたビデオ画像を取り込んで、表示装置に表示されている表示画像上に重畳して表示する際に、ビデオ画像のデジタルデータを一旦画像メモリに蓄えた後、所定の表示タイミングで表示装置に表示された表示画像上に設けられたウインドウに表示する。このような装置において、ビデオ画像を拡大して表示する場合、図７に示すような構成が用いられる。
【０００３】
この構成においては、ビデオカメラ２１から出力された、例えばＮＴＳＣ方式やＰＡＬ方式のビデオ信号は、ビデオデコーダ２２で処理される。ここでは、ビデオ信号から同期信号と画像信号とが分離され、その画像信号がデジタル信号に変換される。そのデジタルの画像データは、画像メモリ２３に書き込まれる。
【０００４】
画像メモリ２３から読み出された画像データは、拡大処理回路２４で水平方向および垂直方向に指定された倍率で拡大処理が施された後、表示装置２５の表示部２５ａに表示されている表示画像上に拡大画像として表示される。
【０００５】
一般に、画像メモリのアクセスバンド幅は、ライン当たりのドット数×動作速度で定められるので、アクセスバンド幅を大きくしないためには、ドット数または／および動作速度を制限する必要がある。そこで、通常、メモリへの書き込みの前ではなく後に画像データを拡大することによって、ドット数および動作速度を不要に上昇させることなく、アクセスバンド幅を小さくしている。
【０００６】
また、上記のような画像合成装置においては、入力画像の所望の部分を抜き出して（クリッピングして）、表示装置２５に表示されたベース画面に入力画像を併せて表示することができる。入力画像の抜き出しは、図示しない表示コントローラによって、指定された期間で画像メモリ２３から読み出すことで行われる。
【０００７】
【発明が解決しようとする課題】
ところで、画像メモリ２３から読み出された画像データをＣＰＵなどの処理装置を用いてソフトウェアによって所望の画像処理を行う場合、画像メモリ２３に格納された画像データをＣＰＵで直接読み出している。
【０００８】
しかしながら、上記の構成では、拡大画像をソフトウェアによって処理する場合、表示装置２５の表示タイミングで読み出された画像データが拡大処理回路２４で拡大されるため、その拡大画像データをＣＰＵのタイミングで取り込むことができない。このため、画像メモリ２３からＣＰＵによって直接読み出された画像データに、拡大処理回路２４で行う同等の拡大処理をソフトウェアで施さなければならず、それだけＣＰＵの負担が増大するという問題がある。
【０００９】
しかも、拡大（または縮小）処理をソフトウェアで行うためのアルゴリズムが拡大の手法によって微妙に異なるので、そのアルゴリズムを正確に適用しないと、回路処理で得られた拡大画像データと同一の拡大画像データを得ることができない。
【００１０】
また、入力画像の所望の部分を取り込むためにソフトウェアによるクリッピング処理を行う場合、所望の部分をＣＰＵによって画像メモリ２３から直接読み出すためのアドレス設定などをソフトウェアで行わなければならない。したがって、この場合もやはりＣＰＵの負担を増大させるという問題がある。
【００１１】
ＣＰＵのタイミングで画像データを取り込む方法としては、表示タイミングで画像メモリ２３から読み出された画像データを他のメモリなどに一旦蓄えた上でＣＰＵのタイミングで読み出すことも考えられる。しかしながら、その場合、メモリが１画面分といった記憶容量を有しておれば、１画面分の画像データの書き込みおよび読み出しの時間が短くなって、ＣＰＵに取り込まれるまでの速度を比較的高くすることができる。しかしながら、メモリの記憶容量を大きくするほど装置のコストが高くなるという不都合がある。
【００１２】
なお、上記のような課題は、画像データに限らず、周期的に繰り返すデータ、例えばハードディスクへの書き込みデータのようなデータをハードウェアで処理する場合にも生じる。したがって、このようなデータについても、画像データと同様に上記の課題が解決されることが望まれる。
【００１３】
本発明は、上記の事情に鑑みてなされたものであって、ＣＰＵなどの処理装置の負担を軽減するために、ハードウェアで処理されたデータを処理装置に取り込むとともに、その取り込む速度を低コストの構成で高めることができるデータ転送方法およびその装置を提供することを目的としている。
【００１４】
【課題を解決するための手段】
本発明のデータ転送方法およびデータ転送装置は、上記の課題を解決するために、周期的に繰り返して連続するデータを出力先のタイミングでメモリから読み出して１周期分のデータより小さい記憶容量を有するバッファメモリに一時的に書き込む一方、バッファメモリへの書き込みのタイミングと非同期な処理装置の読出タイミングで上記データを上記バッファメモリから読み出すと共に、上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、上記記憶容量が画像データの１水平ライン分よりも小さく、さらに、１周期の間に上記バッファメモリへの上記記憶容量分の書き込みを、予め定められたスキップライン数のラインを飛び越して行うことによって、上記メモリから読み出されるタイミングで定まる速度に合わせて複数回行うことを特徴としている。
【００１５】
また、本発明のデータ処理装置は、周期的に繰り返して連続するデータを格納するメモリ手段と、上記メモリ手段から出力先のタイミングで読み出す読出制御手段と、上記メモリ手段から読み出されたデータに所定の処理を施す処理手段と、上記データ転送装置とを備えていることを特徴としている。
【００１６】
上記の方法および装置では、データを出力先に出力させるために、メモリから出力先のタイミングで読み出される。一方、そのデータは、読み出されたタイミングでバッファメモリに書き込まれた後、処理装置の読出タイミングで書き込みとは非同期に読み出される。また、データがバッファから読み出される際にも、メモリからデータが読み出されているので、そのデータをバッファメモリに書き込むことができない。しかしながら、１周期の間にバッファメモリへの記憶容量分の書き込みをメモリから読み出されるタイミングで定まる速度に合わせて複数回行うことにより、データの１周期分をバッファメモリに書き込むために、同じ１周期のデータをメモリから読み出す回数が少なくなり、１周期のデータをバッファメモリから読み出す速度を高めることができる。しかも、１周期分のデータより小さい記憶容量を有するバッファメモリにデータを書き込むことから、１周期の間におけるバッファメモリへのデータの書き込み回数が多くなるほどバッファメモリの記憶容量が小さくなり、バッファメモリを集積回路で構成する場合に、その集積回路の規模が小さくなり、コストを低減することができる。
【００１７】
また、上記の方法および装置においては、上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、上記記憶容量が画像データの１水平ライン分よりも小さいので、１画面分の画像データを表示装置に出力する際に、表示装置の表示タイミングでバッファメモリに書き込まれた画像データが、処理装置のタイミングで読み出される。それゆえ、ソフトウェアによってクリッピング処理を行う必要がなくなり、ＣＰＵなどの処理装置の負担を軽減することができる。また、バッファメモリの記憶容量が１水平ライン分よりも小さいので、例えば、表示速度に合わせて１フレーム期間で数ライン飛び越すようにバッファメモリに書き込むようにすれば、多数回書き込みを行うことができる。
【００１８】
上記の画像データを転送する方法および装置においては、上記メモリから読み出された画像データに拡大または縮小処理を施してから上記バッファメモリに書き込むことが好ましい。このようにすれば、拡大画像データまたは縮小画像データがバッファメモリを介して取り込まれるので、表示タイミングと異なる処理装置の読出タイミングで拡大または縮小画像データを読み出すことができる。それゆえ、ソフトウェアによって拡大または縮小処理を行う必要がなくなるので、ＣＰＵなどの処理装置の負担をさらに軽減することができるとともに、回路（ハードウェア）処理によって得られた拡大または縮小画像データをそのまま処理装置で利用できる。また、上記スキップライン数は、上記バッファメモリが記憶容量分の画素データを取り込む間に出力される画像データのライン数よりも１つ多いライン数に設定されていてもよい。これにより、バッファメモリの取り込みを確実に行うとともに、取り込みの待ち時間を長引くことが回避できる。
【００１９】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図６に基づいて説明すれば、以下の通りである。
【００２０】
本実施の形態では、データ転送装置が画像処理装置としてのビデオキャプチャー装置に組み込まれた構成について説明する。
【００２１】
本実施の形態に係るビデオキャプチャー装置は、図２に示すように、ビデオカメラ１、ビデオデコーダ２、ＦＩＦＯメモリ（図中、ＦＩＦＯ）３、画像メモリ４、拡大／縮小処理回路５およびバッファ回路６を備えている。
【００２２】
ビデオカメラ１としては、白黒で画像を撮影する産業用のビデオカメラが用いられる。ビデオデコーダ２は、ビデオカメラ１から出力されたアナログのＮＴＳＣ方式やＰＡＬ方式といったビデオ信号（コンポジットビデオ信号）から抽出された画像信号のデジタルへの変換、ビデオ信号からの水平同期信号および垂直同期信号の分離等を行う装置である。
【００２３】
ＦＩＦＯメモリ３は、ビデオデコーダ２から出力される入力画像データを書き込まれた順に読み出すメモリである。このＦＩＦＯメモリ３は、画像メモリ４からの入力画像データの読み出しを優先させるために、後述の表示コントローラ９（図３参照）によって制御される表示装置８の表示タイミングに応じて、ビデオデコーダ２から出力される入力画像データの画像メモリ４への読み出しのタイミングが制御される。
【００２４】
メモリ（メモリ手段）としての画像メモリ４は、入力画像データを蓄える半導体メモリ（ビデオＲＡＭなど）である。この画像メモリ４は、ＦＩＦＯメモリ３から読み出された入力画像データを順次蓄えていき、表示装置８の表示タイミングに合わせて読み出していくように、書き込みおよび読み出しが制御される。
【００２５】
画像メモリ４への書き込みに用いられる書込アドレスは、例えば、１ラインにおける各画素に割り当てられた下位の１０ビットと、各ラインに割り当てられた上位の９ビットとによって構成されている。下位の１０ビットは、１水平ラインにおける各ドットに対応したドットクロックをカウントするカウンタによって生成される。一方、上位の９ビットのうち８ビットは、水平同期信号をカウントするカウンタによって生成される。残余の１ビットは奇数フィールドと偶数フィールドとを区別するために設けられ、垂直同期信号に基づいて与えられる。
【００２６】
なお、上記のドットクロックは、１水平走査期間内の有効表示期間において各画素が供給されるタイミングに同期したクロックであり、外部から供給される（またはビデオデコーダで生成される）。
【００２７】
画像メモリ４からの読み出しに用いられる読出アドレスは、予め別途用意されている。この読出アドレスは、表示コントローラ９から供給される１画素毎に対応したドットクロックをカウンタでカウントすることによって得られた下位の１０ビット（水平位置に対応）と、１水平走査期間において有効な画像データが存在する期間でアクティブとなる信号をカウンタでカウントすることによって得られた上位の９ビット（垂直位置に対応）からなる。このような読出アドレスは、後述する読出アドレス発生回路１１で生成される。
【００２８】
拡大／縮小手段としての拡大／縮小処理回路５は、画像メモリ４から読み出された入力画像データを水平方向および垂直方向に予め設定された倍率で拡大または縮小する。拡大の方法としては、例えば、入力画像データを用いて、隣接する画素データに適当に重み付けされた係数を乗算した値を加算して隣接する画素データ間に補間すべきデータを生成する方法が挙げられる。また、縮小の方法としては、例えば、入力画像データを用いて、隣接する画素データに適当に重み付けされた係数を乗算した値を加算して元の画素数より少ない新たな画素データを生成する方法が挙げられる。
【００２９】
なお、以降の説明では、画像を拡大する例について説明する。
【００３０】
バッファ回路６は、拡大／縮小処理回路５から出力された拡大画像データにおいて、ＣＰＵ７により指定された位置のデータと上記の表示タイミングで定まる位置のデータとが一致したときに、その位置の画素データを一時的に蓄え、ＣＰＵ７の要求するタイミングで出力するように構成されている。このバッファ回路６については、後にさらに詳しく説明する。
【００３１】
バッファ回路６は、図３に示すように、Ｄフリップフロップ６１、ＦＩＦＯメモリ（図中、ＦＩＦＯ）６２、デコーダ６３、書込制御部６４、読出制御部６５および出力インターフェース部６６を備えている。
【００３２】
Ｄフリップフロップ６１は、表示タイミングで入力される拡大／縮小処理回路５からの拡大画像データをラッチして出力する回路である。このＤフリップフロップ６１は、ＦＩＦＯメモリ６２と共通するシステムクロックＳＹＳＣＬＫに同期して拡大画像データをＦＩＦＯメモリ６２に出力する。
【００３３】
バッファメモリ（バッファメモリ手段）としてのＦＩＦＯメモリ６２は、拡大／縮小処理回路５からの拡大画像データを書き込み順に読み出すデータレジスタ的動作をするメモリである。このＦＩＦＯメモリ６２は、書込制御端子ＷＲに書込制御部６４からのハイレベルの書込制御信号が入力されると、Ｄフリップフロップ６１からの拡大画像データを順次書き込んでいき、書き込み順に第１ワードのレジスタから第ｎ（最終）ワードのレジスタまでシフトさせる。一方、ＦＩＦＯメモリ６２は、読出制御端子ＲＤに読出制御部６５からのハイレベルの書込制御信号が入力されると、蓄えていた拡大画像データを第ｎワードのレジスタから順次読み出していく。また、ＦＩＦＯメモリ６２は、拡大または縮小されていない入力画像データの１水平ライン分（ＮＴＳＣ方式やＰＡＬ方式といった一般のビデオ信号における標準的な１水平ライン分）よりも少ない画像データの記憶容量を有している。このため、ＦＩＦＯメモリ６２は、１水平ライン分の拡大画像データを出力するために、複数回の書き込みおよび読み出しを行う。
【００３４】
上記のＦＩＦＯメモリ６２は、画像データが第ｎワードのレジスタまで書き込まれたとき（画像データが全レジスタに書き込まれたとき）に満端子ＦＵＬＬからハイレベルの信号（出力許可信号）を出力する一方、第ｎワードのレジスタにデータが書き込まれていないときに満端子ＦＵＬＬからローレベルの信号（出力禁止信号）を出力する。また、ＦＩＦＯメモリ６２は、画像データが全てのレジスタに書き込まれていないときに空き端子ＥＭＰＴＹからハイレベルの信号（入力許可信号）を出力する一方、画像データが全てのレジスタに書き込まれているときに空き端子ＥＭＰＴＹからローレベルの信号（入力禁止信号）を出力する。
【００３５】
なお、上記の出力許可信号は、ＣＰＵ７の割り込み端子ＩＮＴＲに割り込み要求信号として入力される。
【００３６】
デコーダ６３は、ＣＰＵ７のアドレス端子ＡＤＤから出力されるアドレスおよびコントロール端子ＣＮＴ（実際は信号毎に出力端子が異なる）から出力される各種のコントロール信号に基づいて次の各種の制御信号を生成する回路である。これらの制御信号は、それぞれローアクティブの垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* 、水平位置セット信号ＳＥＴＨＰＯＳＣＳ* 、読出選択信号ＲＤＤＡＴＡＣＳ* および読出ステータス信号ＲＤＳＴＡＴＣＳ* である。
【００３７】
垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* は読み出したいデータの垂直方向の位置（ライン位置）を与える信号であり、水平位置セット信号ＳＥＴＨＰＯＳＣＳ* は読み出したデータの水平方向の位置（画素位置）を与える信号である。また、読出選択信号ＲＤＤＡＴＡＣＳ* はＦＩＦＯメモリ６２からの読み出しのタイミングを与えるための基礎となる制御信号であり、ＦＩＦＯメモリ６２の満状態（出力禁止信号）が割込要求信号としてＣＰＵ７に通知されることによりＣＰＵ７で発生する読出ストローブ信号（コントロール信号の一種）に基づいている。さらに、読出ステータス信号ＲＤＳＴＡＴＣＳ* は、アプリケーションプログラム（画像処理プログラムなど）による拡大画像データの読み込みが可能な状態になったときにＣＰＵ７から出力されるステータス信号（コントロール信号の一種）に基づいている。
【００３８】
垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* および水平位置セット信号ＳＥＴＨＰＯＳＣＳ* を得るためには、アドレスだけではなくコントロール信号が組み合わされて用いられる。これは、アドレスが前述のようにドットクロックおよび水平同期信号に基づいて作成されることから画素（表示ドット）の位置に対応していること、および安定した期間（アドレス信号の立ち上がり時などの過渡的な不安定期間を除いた期間）でアドレスを利用できるように上記の読出ストローブ信号などのコントロール信号が必要であることによる。
【００３９】
書込制御部６４は、インバータ６４ａ・６４ｂ、垂直位置レジスタ（図中、ＶＰＲ）６４ｃ、水平位置レジスタ（図中、ＨＰＲ）６４ｄ、一致検出コンパレータ（図中、ＣＭＰ）６４ｅ・６４ｆ、ＡＮＤゲート６４ｇおよびＪＫフリップフロップ６４ｈを備えている。
【００４０】
垂直位置レジスタ６４ｃは、ＣＰＵ７から出力された、読み出すべき画像データ（画素データ）の垂直位置のデータをラッチする回路であり、インバータ６４ａで反転された前述の垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* （入力クロック）に同期して上記の垂直位置データをセットする。一方、水平位置レジスタ６４ｄは、上記の読み出すべき画像データの水平位置のデータをラッチする回路であり、インバータ６４ｂで反転された前述の水平位置セット信号ＳＥＴＨＰＯＳＣＳ* （入力クロック）に同期して上記の水平位置データをセットする。
【００４１】
一致検出手段としての一致検出コンパレータ６４ｅは、表示コントローラ９から出力された、表示装置８に表示される拡大画像データの垂直位置データＶＰＯＳと、ＣＰＵ７からの垂直位置データとを比較して、両者が一致したときにハイレベルの一致検出信号を出力する。一方、一致検出手段としての一致検出コンパレータ６４ｇは、表示コントローラ９から出力される、表示装置８に表示される拡大画像データの水平位置データＨＰＯＳと、ＣＰＵ７からの水平位置データとを比較して、両者が一致したときにハイレベルの一致検出信号を出力する。
【００４２】
ＡＮＤゲート６４ｇは、一致検出コンパレータ６４ｆ・６４ｇからの両一致検出信号の論理積を出力する。ＪＫフリップフロップ６４ｈは、入力端子Ｊに入力されるＡＮＤゲート６４ｇのハイレベルの出力により、システムクロックＳＹＳＣＬＫに同期して出力端子Ｑの出力をセットし（ハイレベル）、ＦＩＦＯメモリ６２の満端子ＦＵＬＬのハイレベルの出力により、システムクロックＳＹＳＣＬＫに同期して出力端子Ｑの出力をリセットする（ローレベル）。このようにして得られる出力端子Ｑの出力は、ＦＩＦＯメモリ６２の書込制御端子ＷＲに書込制御信号として与えられる。
【００４３】
読出制御部６５は、インバータ６５ａ、Ｄフリップフロップ６５ｂ・６５ｃおよびＡＮＤゲート６５ｄを備えている。
【００４４】
インバータ６５ａは、前述の読出選択信号ＲＤＤＡＴＡＣＳ* を反転する。Ｄフリップフロップ６５ｂは、入力端子Ｄ1 に入力されるインバータ６５ａの出力をシステムクロックＳＹＳＣＬＫの立ち上がりエッジに同期して出力端子Ｑ1 から出力する。Ｄフリップフロップ６５ｃは、上記の出力端子Ｑ1 からの出力を同様にシステムクロックＳＹＳＣＬＫの立ち上がりエッジに同期して出力端子Ｑ2 から出力する。これにより、出力端子Ｑ2 の出力は出力端子Ｑ1 の出力に対して１クロック分シフトしている。ＡＮＤゲート６５ｄは、その出力端子Ｑ2 の出力と、Ｄフリップフロップ６５ｂにおける反転出力端子／Ｑ1 の出力との論理積をとることによって、読出選択信号ＲＤＤＡＴＡＣＳ* の立ち下がりエッジで立ち上がる１クロック幅のパルスを出力する。このパルスは、ＦＩＦＯメモリ６２の読出制御端子ＲＤに読出制御信号として与えられる。
【００４５】
出力インターフェース部６６は、バッファ６６ａ〜６６ｃからなっている。バッファ６６ａは、前述の読出選択信号ＲＤＤＡＴＡＣＳ* （ローレベル）によってＦＩＦＯメモリ６２の出力端子ＯＵＴから出力される拡大画像データをＣＰＵ７のデータ端子ＤＡＴＡに出力する。バッファ６６ｂ・６６ｃは、前述の読出ステータス信号ＲＤＳＴＡＴＣＳ* （ローレベル）によって、それぞれＦＩＦＯメモリ６２の空き端子ＥＭＰＴＹからの信号と、満端子ＦＵＬＬからの信号とをＣＰＵ７のデータ端子ＤＡＴＡに拡大画像データとともに入力する。
【００４６】
続いて、上記のように構成されるビデオキャプチャー装置における拡大画像データのＣＰＵ７への取り込みの動作について説明する。
【００４７】
まず、ビデオカメラ１に取り込まれた画像は、ビデオ信号としてビデオデコーダ２に出力される。ビデオデコーダ２では、ビデオ信号から画像信号が抽出されるとともにデジタル化される。その入力画像データは、ビデオデコーダ２からの出力タイミングに合わせてＦＩＦＯメモリ３に順次書き込まれていき、画像メモリ４への書込タイミングに合わせて順次読み出されていく。このＦＩＦＯメモリ３による入力画像データの書き込みおよび読み出しによって、画像メモリ４からの入力画像データの読み出しが、ＦＩＦＯメモリ３からの入力画像データの書き込みに対して優先して行われる。したがって、ＦＩＦＯメモリ３の次段に設けられるバッファ１０は、画像メモリ４への入力画像データの出力可能な期間が、バッファ１０のイネーブル端子に入力されるイネーブル信号がローレベルとなる期間に制限される。
【００４８】
画像メモリ４への入力画像データの書き込みは、前述の書込アドレスがマルチプレクサ（図中、ＭＰＸ）１２を介して画像メモリ４のアドレス端子ＡＤＤに入力されることによって行われる。画像メモリ４からの画像データの読み出しは、読出制御手段としての読出アドレス発生回路１１から出力される前述の読出アドレスがマルチプレクサ（図中、ＭＰＸ）１２を介して画像メモリ４のアドレス端子ＡＤＤに入力されることによって行われる。
【００４９】
画像メモリ４から読み出された画像データは、拡大／縮小処理回路５に入力される。拡大／縮小処理回路５では、画像データが垂直方向および垂直方向に所定の倍率で拡大される。この結果得られた拡大画像データは、表示装置８に送出される。表示装置８では、表示部８ａの全面に表示された画像上の予め定められた領域に設けられたウインドウに、上記の拡大画像データが、元画像（表示部８ａにおける左側の画像）から拡大された拡大画像として表示される。この拡大画像は、必要に応じて、表示コントローラ９で制御される表示タイミングによって、元画像における予め指定された領域がクリッピングされた画像として表示される。
【００５０】
また、上記の拡大画像データは、バッファ回路６にも入力される。このバッファ回路６では、拡大画像データにおける必要な部分の画素データの位置（垂直位置および水平位置）についてのデータが、画像処理プログラムによってＣＰＵ７で予め設定されており、データ端子ＤＡＴＡから出力される。この位置データのうち垂直位置データが、垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* に同期して垂直位置レジスタ６４ｃにセットされる一方、水平位置データが水平位置セット信号ＳＥＴＨＰＯＳＣＳ* に同期して水平位置レジスタ６４ｄにセットされる。
【００５１】
一方、表示コントローラ９からは、垂直位置データＶＰＯＳおよび水平位置データＨＰＯＳが出力される。一致検出コンパレータ６４ｅでは、上記の垂直位置データＶＰＯＳと、垂直位置レジスタ６４ｃから出力された垂直位置データとが比較され、両者が一致するとハイレベルの一致検出信号が出力される。また、一致検出コンパレータ６４ｆでは、上記の水平位置データＨＰＯＳと、水平位置レジスタ６４ｄから出力された水平位置データとが比較され、両者が一致するとハイレベルの一致検出信号が出力される。
【００５２】
これにより、ＡＮＤゲート６４ｇからＪＫフリップフロップ６４ｈにハイレベルの信号が入力されると、ＪＫフリップフロップ６４ｈがセットされ、ＦＩＦＯメモリ６２の書込制御端子ＷＲにハイレベルの書込制御信号が与えられる。ＦＩＦＯメモリ６２は、この書込制御信号が入力されている期間にシステムクロックＳＹＳＣＬＫのタイミングで、Ｄフリップフロップ６１にラッチされた、上記の位置の画素データがＦＩＦＯメモリ６２に書き込まれる。
【００５３】
このようにして、表示コントローラ９およびＣＰＵ７で指定された両垂直位置および両水平位置がそれぞれ一致する毎に、画素データが１つずつＦＩＦＯメモリ６２に書き込まれるとともに出力側にシフトしていく。このとき、新たな垂直位置データおよび水平位置データは、垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* および水平位置セット信号ＳＥＴＨＰＯＳＣＳ* がデコーダ６３からそれぞれ出力される毎にセットされる。
【００５４】
そして、画素データがＦＩＦＯメモリ６２における最後のレジスタに達すると、全レジスタに画素データが書き込まれたことになるので、満端子ＦＵＬＬから、ハイレベルの出力許可信号が出力される。このとき、ＪＫフリップフロップ６４ｈがリセットされるので、ＦＩＦＯメモリ６２の書込制御端子ＷＲの状態がローレベルに変化して、画素データの書き込みが停止する。
【００５５】
一方、ＣＰＵ７は、上記の出力許可信号を割り込み要求信号として受けると、読出ストローブ信号を出力する。デコーダ６３が、この読出ストローブ信号に基づいてローレベルの読出選択信号ＲＤＤＡＴＡＣＳ* を出力すると、ハイレベルの読出制御信号が読出制御部６５から出力されてＦＩＦＯメモリ６２の読出制御端子ＲＤに与えられる。その結果、読出制御信号が入力されている期間にシステムクロックＳＹＳＣＬＫのタイミングで、ＦＩＦＯメモリ６２に蓄えられている画素データがバッファ６６ａを介して１つずつ出力されて、ＣＰＵ７のデータ端子ＤＡＴＡに入力される。
【００５６】
このようにして画素データが順次読み出されていくと、やがてＦＩＦＯメモリ６２の全てのレジスタに空きが生じる。このとき、空き端子ＥＭＰＴＹからハイレベルの入力許可信号がバッファ６６ｂを介してＣＰＵ７に入力されると、ＣＰＵ７から出力されるアドレスなどに基づいて、デコーダ６３から垂直位置セット信号ＳＥＴＶＰＯＳＣＳ* および水平位置セット信号ＳＥＴＨＰＯＳＣＳ* が出力される。これにより、垂直位置データおよび水平位置データが、それぞれ両位置レジスタ６４ｃ・６４ｄにセットされると、前述のように、垂直位置データＶＰＯＳおよび水平位置データＨＰＯＳとの比較が行われ、両者が一致したときに画素データがＦＩＦＯメモリ６２に書き込まれる。
【００５７】
そして、このような画素データの満状態に至るまでの書き込みと空き状態に至るまでの読み出しとが複数回繰り返されることによって１水平ライン分の画素データが読み出される。読み出された画素データは、１画面分の拡大画像データとしてメインメモリ１３にまとめられて、画像処理プログラムによって所定の画像処理が施される。
【００５８】
上記のような画像データのＦＩＦＯメモリ６２への取り込みからメインメモリ１３への移動に至る処理は、所定の画像転送プログラムによって実行される。以下に、その処理の手順を図４のフローチャートを参照して説明する。下記の例は、ＶＧＡ（４８０ライン×６８０画素）の画像データを扱う場合である。
【００５９】
まず、現在のライン番号を表すカレントライン番号ＣＵＲＬＮを０にセットするとともに、バッファサイズＢＳＺ（ＦＩＦＯメモリ６２の記憶容量）を６３画素にセットし（Ｓ１）、現在の水平位置を表すカレント水平位置ＣＵＲＨＰＯＳを０にセットする（Ｓ２）。
【００６０】
次いで、カレントライン番号ＣＵＲＬＮ（垂直位置データＶＰＯＳ）およびカレント水平位置ＣＵＲＨＰＯＳ（水平位置データＨＰＯＳ）に基づいて、前述のように画素データを１つずつバッファサイズＢＳＺが満たされるまでＦＩＦＯメモリ６２に取り込むようにＦＩＦＯメモリ６２の動作を制御する（Ｓ３）。ＦＩＦＯメモリ６２に蓄えられたバッファサイズＢＳＺ分の画素データをＣＰＵ７によって読み出してメインメモリ１３における画像記憶領域内のカレントライン番号ＣＵＲＬＮおよびカレント水平位置ＣＵＲＨＰＯＳに対応する画素データを順次書き込んでいく（Ｓ４）。
【００６１】
さらに、カレント水平位置ＣＵＲＨＰＯＳをバッファサイズＢＳＺ分の画素数だけ加算して更新し（Ｓ５）、カレント水平位置ＣＵＲＨＰＯＳが６４０未満であるか否かを判定する（Ｓ６）。ここで、カレント水平位置ＣＵＲＨＰＯＳが６４０未満である場合、処理をＳ３に戻す一方、カレント水平位置ＣＵＲＨＰＯＳが６４０に達するまでＳ３ないしＳ６の処理を繰り返す。
【００６２】
カレント水平位置ＣＵＲＨＰＯＳが６４０に達すると、カレントライン番号ＣＵＲＬＮを１だけ加算して更新し（Ｓ７）、カレントライン番号ＣＵＲＬＮが４８０未満であるか否かを判定する（Ｓ８）。ここで、カレントライン番号ＣＵＲＬＮが４８０未満である場合は処理をＳ２に戻し、カレントライン番号ＣＵＲＬＮが４８０に達するまでＳ２ないしＳ８の処理を繰り返して、処理を終える。
【００６３】
以上のように、本実施の形態に係るビデオキャプチャー装置では、拡大／縮小処理回路５からの拡大画像データを表示装置８に送出するだけでなく、バッファ回路６におけるＦＩＦＯメモリ６２に一旦書き込んで、ＣＰＵ７のタイミングで読み出している。このようにして拡大画像データをＣＰＵ７に取り込むことにより、ソフトウェア（画像処理プログラム）で拡大処理を行う必要がない。それゆえ、ＣＰＵ７の負担を軽減することができるだけでなく、拡大／縮小処理回路５で得られた拡大画像と同じ拡大画像を得るために画像処理プログラムで拡大処理アルゴリズムを正確に適用する必要がなくなり、プログラム作成の複雑化を避けることができる。これは、入力画像を縮小した場合でも同様である。
【００６４】
また、本ビデオキャプチャー装置では、ＣＰＵ７側で設定された垂直位置データおよび水平位置データを、表示コントローラ９で設定された垂直位置データおよび水平位置データとそれぞれ比較して、両者がともに一致したときに、その位置の画像データ（画素データ）をＦＩＦＯメモリ６２に書き込んでいる。これにより、拡大画像から画像処理プログラムで設定された所定の領域を取り出すクリッピングが行われるので、その処理を画像処理プログラムで行う必要がなくなり、それだけＣＰＵ７の負担が軽減する。
【００６５】
さらに、ＦＩＦＯメモリ６２の記憶容量が１水平ライン分の入力画像データより小さいので、１水平ライン分の拡大画像データを出力するには、前述のように書き込みと読み出しとを複数回繰り返す必要があるが、バッファ回路６の製作コストを削減するとともに、実装面積を小さくすることができる。これにより、バッファ回路６をＡＳＩＣ(Application-Specific Integrated Circuit) などの集積回路で構成する場合に、バッファ回路６の規模を縮小化を容易に図ることができる。この結果、バッファ回路６およびビデオキャプチャー装置のコストを低下させることができる。
【００６６】
なお、拡大／縮小処理回路５で入力画像データに縮小処理を施す場合は、入力画像データが圧縮されるので、縮小率によっては１水平ライン分の縮小画像データを１回の書き込みと読み出しとでＦＩＦＯメモリ６２から出力することができる。
【００６７】
ところで、ＦＩＦＯメモリ６２への画像データの取り込みが表示タイミングで行われるため、上記のようにバッファサイズＢＳＺが１水平ライン分に対してかなり小さく設定された場合は、画像メモリ４から取り出せるのは、１フレーム時間（約１６ｍsec ）にバッファサイズＢＳＺ分の画素データである。したがって、１画面分の画素データを取り出すには多大な時間を要する。
【００６８】
例えば、バッファサイズＢＳＺが６３画素である場合、１６ｍsec の間に６３画素を取り出すので、４８０×６８０個の画素を取り出すには、次の計算により約８４．５sec を要する。なお、１ライン６８０個の画素をバッファサイズＢＳＺに取り込む場合、１１回の取り込みが必要である。
【００６９】
１１×４８０×１６×１０-3≒８４．５
これに対し、画像メモリ４から直接ＣＰＵ７によって画像データを取り出す場合、１画面分の画像データを１０ｍsec 程度で取り出すことができる。したがって、バッファサイズＢＳＺが６３画素である場合の取り出し時間は、ＣＰＵ７による直接取り出し時間の８４５０倍もの時間を要することになる。
【００７０】
このように画像データの取り出しに多大な時間を要すると、１画面分の画像データをメインメモリ１３に蓄えてプリンタ１４（図１参照）に印刷出力する場合、出力に長時間を要する。このような不都合を解消するには、取り出し時間の短縮を図るにはバッファサイズＢＳＺを大きくすればよいが、バッファサイズＢＳＺが大きくなるとバッファ回路６のコストが高くなる。
【００７１】
そこで、本実施の形態では、バッファサイズＢＳＺを大きくすることなく、また、バッファ回路６の構成を変更することなく高速で画像データを画像メモリ４から取り出すために前述の画像転送プログラムに改良を加えている。以下に、その画像転送プログラムを含む構成について説明する。
【００７２】
図１に示すように、画像転送プログラム１５は、メモリ転送部１５ａ、カレントライン番号設定部１５ｂ、カレント水平位置設定部１５ｃおよびインライン番号設定部１５ｄを有している。
【００７３】
メモリ転送部１５ａは、ＦＩＦＯメモリ６２からメインメモリ１３への画像データの移動を制御する。具体的には、ＦＩＦＯメモリ６２からＣＰＵ７によって読み出された画像データを、メインメモリ１３における画像記憶領域内のカレントライン番号ＣＵＲＬＮおよびカレント水平位置ＣＵＲＨＰＯＳに対応する位置に書き込させる。
【００７４】
カレントライン番号設定部１５ａは、メモリ転送部１５ａによるバッファサイズＢＳＺ分の画素データのメインメモリ１３への書き込みが終了すると、前述のカレントライン番号ＣＵＲＬＮを新たに設定（更新）する。カレントライン番号ＣＵＲＬＮの更新は、カレントライン番号ＣＵＲＬＮに後述するスキップライン数ｓｋを加算することによって行われる。
【００７５】
カレント水平位置設定部１５ｃは、メモリ転送部１５ａによるバッファサイズＢＳＺ分の画素データのメインメモリ１３への書き込みが終了に、１水平ライン内で前述のカレント水平位置ＣＵＲＨＰＯＳを新たに設定（更新）する。カレント水平位置ＣＵＲＨＰＯＳの更新は、カレント水平位置ＣＵＲＨＰＯＳにバッファサイズＢＳＺの画素数を加算することによって行われる。
【００７６】
インライン番号設定部１５ｄは、１フレーム期間にＦＩＦＯメモリ６２が所定のスキップライン数ｓｋずつ飛び越して画像データを取り込むように、スキップライン数ｓｋの間隔で定まる各区間におけるインラインの番号を表すインライン番号ＩｎＬＮを、１フレーム期間でのメインメモリ１３への画像データ書き込みが終了した後に新たに設定（更新）する。インライン番号ＩｎＬＮの更新は、インライン番号ＩｎＬＮに“１”を加算することによって行われる。
【００７７】
スキップライン数ｓｋは、表示タイミングで決まる表示速度と、画像転送プログラム１５に基づくＣＰＵ７によってＦＩＦＯメモリ６２から画像データを読み出す速度とによって決まる。スキップライン数ｓｋは、ＦＩＦＯメモリ６２がバッファサイズＢＳＺの画素データを取り込むの間に出力される画像データのライン数よりも１つ多いライン数に設定される。これにより、ＦＩＦＯメモリ６２の取り込みを確実に行うとともに、取り込みの待ち時間を長引くことが回避できる。
【００７８】
図５は、画像メモリ４における１画面分の画像データの配置を示している。具体的には、例えば、スキップライン数ｓｋとした場合、ライン番号“０”からライン番号“３”までの区間、ライン番号“４”からライン番号“７”までの区間、ライン番号“８”からライン番号“１１”までの区間、ライン番号“１２”からライン番号“１５”までの区間のそれぞれにおけるラインがインラインとなる。１フレーム期間では、（１），（２），（３），（４），…，（ｊ）のバッファサイズＢＳＺ分の画素データが画像メモリ４からＦＩＦＯ６２に読み出されるようになっている。
【００７９】
同じ１フレーム期間に読み出される異なるライン番号の画素データ群（バッファサイズＢＳＺ分）は、図示した例では水平方向で同じ位置にあるが、必ずしも水平方向で位置が一致していなくてもよい。しかしながら、位置計算などの容易性から、図示した配置が好ましい。
【００８０】
上記のような画像転送プログラム１５の処理の手順を図６のフローチャートを参照して説明する。下記の例も、図４のフローチャートで示した場合と同様、ＶＧＡ（４８０ライン×６８０画素）の画像データを扱う場合である。
【００８１】
まず、インライン番号ＩｎＬＮを０にセットし、スキップライン数ｓｋを４にセットし、バッファサイズＢＳＺを６３画素にセットする（Ｓ１１）。また、現在の水平位置を表すカレント水平位置ＣＵＲＨＰＯＳを０にセットし（Ｓ１２）、カレントライン番号ＣＵＲＬＮをインライン番号ＩｎＬＮにセットする（Ｓ１３）。
【００８２】
次いで、カレントライン番号ＣＵＲＬＮ（垂直位置データＶＰＯＳ）およびカレント水平位置ＣＵＲＨＰＯＳ（水平位置データＨＰＯＳ）に基づいて、前述のように画素データを１つずつバッファサイズＢＳＺが満たされるまでＦＩＦＯメモリ６２に取り込むようにＦＩＦＯメモリ６２の動作を制御する（Ｓ１４）。ＦＩＦＯメモリ６２に蓄えられたバッファサイズＢＳＺ分の画素データをＣＰＵ７によって読み出してメインメモリ１３における画像記憶領域内のカレントライン番号ＣＵＲＬＮおよびカレント水平位置ＣＵＲＨＰＯＳに対応する画素データを順次書き込んでいく（Ｓ１５）。
【００８３】
さらに、カレントライン番号ＣＵＲＬＮをスキップライン数ｓｋだけ加算して更新し（Ｓ１６）、カレントライン番号ＣＵＲＬＮが４８０未満であるか否かを判定する（Ｓ１７）。ここで、カレントライン番号ＣＵＲＬＮが４８０未満である場合は処理をＳ１４に戻し、カレントライン番号ＣＵＲＬＮが４８０に達すると、カレント水平位置ＣＵＲＨＰＯＳをバッファサイズＢＳＺ分の画素数だけ加算して更新する（Ｓ１８）。
【００８４】
そして、カレント水平位置ＣＵＲＨＰＯＳが６４０未満であるか否かを判定し（Ｓ１９）、ここで、カレント水平位置ＣＵＲＨＰＯＳが６４０未満である場合、処理をＳ１３に戻して、カレント水平位置ＣＵＲＨＰＯＳが６４０に達するまでＳ１３ないしＳ１９の処理を繰り返す。カレント水平位置ＣＵＲＨＰＯＳが６４０に達すると、１を加算してインライン番号ＩｎＬＮを更新する（Ｓ２０）。
【００８５】
最後に、インライン番号ＩｎＬＮがスキップライン数ｓｋに達したか否かを判定し（Ｓ２１）、達していない場合は、処理をＳ１２に戻してインライン番号ＩｎＬＮがスキップライン数ｓｋに達するまでＳ１２ないしＳ２１の処理を繰り返す。一方、インライン番号ＩｎＬＮがスキップライン数ｓｋに達している場合は、そのまま処理を終える。
【００８６】
このように、上記の画像転送プログラム１５は、画像メモリ４から表示タイミングで取り出されて拡大または縮小処理が施された画像データを、スキップライン数のラインを飛び越してＦＩＦＯメモリ６２に書き込むようにしている。これにより、ＦＩＦＯメモリ６２にバッファサイズＢＳＺ分の画素データが蓄えられた後に、その画素データが読み出される間にも画像メモリ４から画像データが読みだされているが、ＦＩＦＯメモリ６２への画像データの書き込みが飛び越して行われるので、１フレーム期間において表示タイミングに合わせて複数回書き込みを行うことができる。それゆえ、図４の処理手順を実行する画像転送プログラムに比べて、１フレーム期間にＦＩＦＯメモリ６２に画像データを書き込む回数を大幅に増加させることができる。
【００８７】
例えば、４８０ライン×６８０画素の画像データを転送し、スキップライン数を４とする場合、バッファサイズＢＳＺが６３画素であると、図５における（ｊ）が１２０（＝４８０／４）となり、画像メモリ４からＦＩＦＯメモリ６２への画像データの取り出しを１フレーム期間に１２０回行うことができる。これにより、次の計算で７０４ｍsec で１画面分の画素データを取り出すことができる。
【００８８】
１１×（４８０／１２０）×１６＝７０４
この結果、図４の処理手順を実行する画像転送プログラムでの例（約８４．５sec ）に比べて１２０倍速く画像データをＦＩＦＯメモリ６２へ取り込むことができる。また、この速度は、画像メモリ４からＣＰＵ７によって直接画像データを読み出す場合の速度（１０ｍsec ）の約７０倍にまで高められている。
【００８９】
したがって、図１に示すバッファ回路６の構成を変更することなく、すなわちバッファサイズＢＳＺを大きくすることなく、拡大／縮小処理回路５からの画像データを高速でＣＰＵ７に取り込むことができる。これにより、上記の画像データをプリンタ１４で印刷出力する場合の速度を高めることができる。
【００９０】
なお、本実施の形態では、画像データを転送する例について説明したが、本発明は、転送するデータが画像データに限らず周期的に繰り返すように連続するデータであればよい。例えば、このようなデータとしては、ハードディスクへの書き込みデータが挙げられる。
【００９１】
【発明の効果】
以上のように、本発明のデータ転送方法および装置は、周期的に繰り返して連続するデータを出力先のタイミングでメモリから読み出して１周期分のデータより小さい記憶容量を有するバッファメモリに一時的に書き込む一方、バッファメモリへの書き込みのタイミングと非同期な処理装置の読出タイミングで上記データを上記バッファメモリから読み出すと共に、上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、上記記憶容量が画像データの１水平ライン分よりも小さく、さらに、１周期の間に上記バッファメモリへの上記記憶容量分の書き込みを、予め定められたスキップライン数のラインを飛び越して行うことによって、上記メモリから読み出されるタイミングで定まる速度に合わせて複数回行う構成である。
【００９２】
また、本発明のデータ処理装置は、周期的に繰り返して連続するデータを格納するメモリ手段と、上記メモリ手段から出力先のタイミングで読み出す読出制御手段と、上記メモリ手段から読み出されたデータに所定の処理を施す処理手段と、上記データ転送装置とを備えている構成である。
【００９３】
これにより、メモリから出力先のタイミングで読み出されたデータがバッファメモリに書き込まれた後、処理装置の読出タイミングで書き込みとは非同期に読み出され、その読み出しの際にも、メモリからデータが読み出されるので、そのデータをバッファメモリに書き込めないが、１周期の間にバッファメモリへの記憶容量分の書き込みを上記のように複数回行うことで、データの１周期分をバッファメモリに書き込むために、同じ１周期のデータをメモリから読み出す回数が少なくなり、１周期のデータをバッファメモリから読み出す速度を高めることができる。しかも、１周期分のデータより小さい記憶容量を有するバッファメモリにデータを書き込むことから、１周期の間におけるバッファメモリへのデータの書き込み回数が多くなるほどバッファメモリの記憶容量が小さくなり、バッファメモリを集積回路で構成する場合に、その集積回路の規模が小さくなる。したがって、ハードウェアのコスト上昇を抑えた構成によって、出力先とは異なる経路でＣＰＵなどの処理装置にデータを高速に取り込むことができるという効果を奏する。
【００９４】
また、上記の方法および装置においては、上記データが画像データであり、上記出力先としての表示装置の表示タイミングで上記メモリから画像データを読み出す一方、上記記憶容量が画像データの１水平ライン分よりも小さいので、１画面分の画像データを表示装置に出力する際に、表示装置の表示タイミングでバッファメモリに書き込まれた画像データが、処理装置のタイミングで読み出される。それゆえ、ソフトウェアによってクリッピング処理を行う必要がなくなり、ＣＰＵなどの処理装置の負担を軽減することができる。また、バッファメモリの記憶容量が１水平ライン分よりも小さいので、例えば、表示速度に合わせて１フレーム期間で数ライン飛び越すようにバッファメモリに書き込むようにすれば、多数回書き込みを行うことができる。画像データの処理装置への転送を高速に行うことができるという効果を奏する。
【００９５】
上記の画像データを転送する方法および装置においては、上記メモリから読み出された画像データに拡大または縮小処理を施してから上記バッファメモリに書き込むことが好ましい。このようにすれば、拡大画像データまたは縮小画像データがバッファメモリを介して取り込まれるので、表示タイミングと異なる処理装置の読出タイミングで拡大または縮小画像データを読み出すことができる。それゆえ、ソフトウェアによって拡大または縮小処理を行う必要がなくなるので、ＣＰＵなどの処理装置の負担をさらに軽減することができるとともに、回路（ハードウェア）処理によって得られた拡大または縮小画像データをそのまま処理装置で利用できる。したがって、より一層処理能力の高い画像処理を行うことができるとともに、拡大または縮小アルゴリズムの適正化が不要になるためにソフトウェア作成の複雑化を回避することができるという効果を奏する。また、上記スキップライン数は、上記バッファメモリが記憶容量分の画素データを取り込む間に出力される画像データのライン数よりも１つ多いライン数に設定されていれば、バッファメモリの取り込みを確実に行うとともに、取り込みの待ち時間を長引くことが回避できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係る、改良された転送プログラムを含むビデオキャプチャー装置の構成を示すブロック図である。
【図２】上記ビデオキャプチャー装置の基本構成を示すブロック図である。
【図３】上記ビデオキャプチャー装置のバッファ回路を中心とする詳細な構成を示すブロック図である。
【図４】上記バッファ回路による画像転送の手順を示すフローチャートである。
【図５】上記バッファ回路による画像を行う画像転送プログラムが実現する高速画像転送の概念を画像メモリに展開された画素で示す説明図である。
【図６】上記バッファ回路による改良された画像転送の手順を示すフローチャートである。
【図７】従来のビデオキャプチャー装置の概略構成を示すブロック図である。
【符号の説明】
４        画像メモリ（メモリ、メモリ手段）
５        拡大／縮小処理回路（処理手段、拡大／縮小手段）
８        表示装置（出力先）
６        バッファ回路（データ転送装置）
７        ＣＰＵ（処理装置）
９        表示コントローラ
１１        読出アドレス発生回路（読出制御手段）
１５ｂ      カレントライン番号設定部（書込制御手段）
６２        ＦＩＦＯメモリ（バッファメモリ、バッファメモリ手段）
【図１】
0003643020.tif 000002
【図２】
0003643020.tif 000003
【図３】
0003643020.tif 000004
【図４】
0003643020.tif 000005
【図５】
0003643020.tif 000006
【図６】
0003643020.tif 000007
【図７】
0003643020.tif 000008