(57)【要約】【課題】データの転送によるバスの帯域の圧迫を軽減することを課題とする。【解決手段】記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、読み込んだデータをデータ処理し、次に必要なデータのアドレス情報をアドレス記憶部に設定するデータ処理部とを有するデータ処理装置が、入力データが、バスを介してデータ記憶部に対して転送されているときに、バスの上を流れるデータを監視して、アドレス情報に相当するデータが流れると、このデータをデータ処理部に取り込む。【選択図】        図１
2009245005.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するデータ処理装置であって、
記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、
取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、
読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理部と、
前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理部に取り込むデータ取込手段を備えたことを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、ＣＰＵと、転送速度が高速のキャッシュメモリと、該キャッシュメモリに比べ転送速度が遅いメインメモリと、前記記憶装置からメインメモリにデータ転送を行うＤＭＡコンローラを備えており、
入力したデータを前記一時的に記憶するデータ記憶部はメインメモリであり、
前記記憶装置から入力データを、前記バスを介して前記データ記憶部に対して転送し、前記アドレス情報に基づいて監視し、該当データを優先的に取り出し、所定のアドレスに転送するのは、ＤＭＡコンローラであることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、更に、データの記憶を行わず、アドレスだけ割り当てられたダミーメモリを備えており、
前記所定のアドレスに応じて、前記記憶装置から入力データを、前記バスを介して前記データ記憶部または前記ダミー記憶部に転送し、前記アドレス情報に基づいて取り出すデータか否か監視し、取り出し対象のデータを優先的に取り出し、前記アドレス情報に応じて前記メインメモリまたは前記ダミーアドレスに転送するのは、ＤＭＡコンローラであることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記アドレス情報は、入力元の開始アドレスと、ＣＰＵ内部にある高速メモリの出力先アドレスと、取り出すデータの長さを表すアドレス長を含み、
前記ＤＭＡコントローラは、前記記憶装置から入力データを、前記バスを介して前記アドレス長の長さのデータを前記高速メモリに転送することを特徴とする請求項２または請求項３に記載のデータ処理装置。
【請求項５】
前記入力データは動画データであり、前記データ処理部は動画の物体検出または追跡処理を行う場合、
前記データ処理部は、前記検出又は追跡する物体を検出して、動画データの中から、優先的に取り出す前記該物体の次の位置を推定し、優先的に取り出す動画データの部分のアドレス情報を求め、アドレス情報として、入力元の開始アドレスと、ＣＰＵ内部にある高速メモリの出力先アドレスと、取り出すデータの長さを表すアドレス長を前記アドレス情報記憶部に設定し、
前記ＤＭＡコントローラは、前記記憶装置の入力データから、前記バスを介して送出されるデータの中から前記アドレス情報に基づき、該当するデータを優先的に前記高速メモリに転送することを特徴とする請求項２乃至請求項４に記載のデータ処理装置。
【請求項６】
データ処理装置によってデータを処理するデータ処理方法であって、
記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、
取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、
読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理部とを有し、
前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理部に取り込むデータ取込ステップを含んだことを特徴とするデータ処理方法。
【請求項７】
データ処理装置としてのコンピュータにデータを処理させるデータ処理プログラムであって、
記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、
取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部とを有し、
読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理手順と、
前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理手順によって参照される記憶部に取り込むデータ取込手順と、
データ処理装置としてのコンピュータに実行させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ処理装置、データ処理方法およびデータ処理プログラムに関する。特に、入力データが動画などの大量のデータを処理するデータ処理装置、データ処理方法およびデータ処理プログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータシステムに使用されるデータの転送方式には、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）と呼ばれる転送方式がある（特許文献１参照）。
【０００３】
そして、データの転送方式にＤＭＡを使用し、外部装置（例えば、カメラ）に記憶されているデータをデータ処理（例えば、画像処理）するデータ処理装置がある。このデータ処理装置においてデータ処理を実行するＣＰＵが有するＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、データのアクセス速度は速いが、データの記憶容量は、通常、外部装置に記憶されているデータのデータ量よりも小さい。その反対に、メインメモリに使用されているＳＤＲＡＭやその他の外部装置に記憶されているメモリ等の記憶装置は、記憶データ量は多いが、ＳＲＡＭに比べてアクセス速度が遅い。
【０００４】
そのため、データ処理装置は、外部装置に記憶されているデータを記憶することができる記憶容量を備えたＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶媒体に一時的に外部装置に記憶されているデータを転送し、格納する。
【０００５】
そして、データ処理装置は、ＣＰＵによるデータ処理の進捗状況に応じて、ＳＤＲＡＭからＳＲＡＭにデータを分割して転送し、データ処理を完了することが一般的である。
【０００６】
以下に、図８を用いて、データ処理装置によるＤＭＡを使用したデータの転送方式について一例をあげて具体的に説明する。図８は、従来技術の概要を説明するための図である。このデータ処理装置は、図８の（Ａ）に示すように、バスによってそれぞれ接続される入出力制御部１１〜１３を有する。
【０００７】
ここで、入出力制御部１１は、外部装置に接続され、入出力制御部１２は、ＳＤＲＡＭに接続される。また、入出力制御部１３は、データ処理を実行するデータ処理部と、ＳＲＡＭとを有するＣＰＵに接続される。
【０００８】
このような構成の下、まず、ＣＰＵは、外部装置に記憶されているデータをＳＤＲＡＭに転送するために、ＤＭＡコントローラに対して、アドレス情報Ａを送信する。
【０００９】
ここで、アドレス情報Ａとは、ＤＭＡコントローラに対して、外部装置に記憶されているデータ（図８の（Ｂ）の（１）参照）をＳＤＲＡＭに転送する制御を実行させるための情報である。例えば、アドレス情報Ａは、データの読み込み処理を実行するデバイスが入出力制御部１１であることを示したデバイス情報と、外部装置においてデータが記憶されている記憶領域の開始地点を特定するアドレスと、データの書き込み処理を実行するデバイスが入出力制御部１２であることを示したデバイス情報と、ＳＤＲＡＭにおいてデータを格納すべき記憶領域の開始地点を特定するアドレスと、外部装置からＳＤＲＡＭに転送するデータの長さを示すアドレス長とを含んだ情報である。データの長さの代わりに、転送データの終わりを示す終了アドレスとしてもよい。
【００１０】
アドレス情報Ａを受け付けたＤＭＡコントローラは、バスを介してアドレス情報Ａ−１を送出する。ここで、アドレス情報Ａ−１とは、入出力制御部１１、１２に対して、アドレス情報Ａによって特定されるデータの一部（図８の（Ｂ）の（２）参照）を外部装置からＳＤＲＡＭに転送する制御を実行させるための情報である。
【００１１】
続いて、ＤＭＡコントローラは、入出力制御部１１に対して、アドレス情報Ａ−１によって特定されるデータをバス上に送出させる。そして、ＤＭＡコントローラは、入出力制御部１２にバス上を流れるデータを取り込ませ、ＳＤＲＡＭに格納させる。
【００１２】
同様にして、ＤＭＡコントローラは、バスを介してアドレス情報Ａ−２、Ａ−３を送出し、外部装置からＳＤＲＡＭにデータを転送させることで、アドレス情報Ａによって特定されるデータの転送を完了する。
【００１３】
アドレス情報Ａによって特定されるデータの転送が完了した後、ＣＰＵは、ＳＤＲＡＭに記憶されているデータをＳＲＡＭに転送するために、ＤＭＡコントローラに対して、アドレス情報Ｂを送信する。
【００１４】
ここで、アドレス情報Ｂとは、ＤＭＡコントローラに対して、ＳＤＲＡＭに記憶されているデータの一部（図８の（Ｃ）の（１）参照）をＳＲＡＭに転送する制御を実行させるための情報である。例えば、アドレス情報Ｂは、データの読み込み処理を実行するデバイスが入出力制御部１２であることを示したデバイス情報と、ＳＤＲＡＭにおいてデータが記憶されている記憶領域の開始地点を特定するアドレスと、データの書き込み処理を実行するデバイスが入出力制御部１３であることを示したデバイス情報と、ＳＲＡＭにおいてデータを格納すべき記憶領域の開始地点を特定するアドレスと、ＳＤＲＡＭからＳＲＡＭに転送するデータの長さを示すアドレス長とを含んだ情報である。
【００１５】
続いて、ＤＭＡコントローラは、バスを介してアドレス情報Ｂ−１を送出する。そして、ＤＭＡコントローラは、入出力制御部１２に対して、アドレス情報Ｂ−１によって特定されるデータを読み込ませ、データをバス上に送出させる。そして、ＤＭＡコントローラは、バス上を流れるデータを入出力制御部１２に取り込ませ、ＳＲＡＭに格納させる。
【００１６】
その後、ＤＭＡコントローラは、ＣＰＵによるデータ処理の進捗状況に応じて、バスを介してアドレス情報Ｂ−２、Ｂ−３を送出し、ＳＤＲＡＭからＳＲＡＭにデータを分割して転送させることで、アドレス情報Ｂによって特定されるデータの転送を完了する。
【００１７】
【特許文献１】特開２００３−００６１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
ところで、上記した従来の技術は、バスの帯域を圧迫するという課題があった。すなわち、従来のデータ処理装置は、外部装置に記憶されているデータをＳＤＲＡＭに転送するとき、および、ＳＤＲＡＭからＳＲＡＭにデータを分割して転送するときの２回のシチュエーションにおいてバス上に同一のデータを送出させるため、バスの帯域を圧迫するという問題点があった。
【００１９】
そこで、このデータ処理装置、データ転送方法およびデータ処理プログラムは、上述した従来技術の課題を解決するためになされたものであり、データの転送によるバスの帯域の圧迫を軽減することが可能なデータ処理装置、データ転送方法およびデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上述した課題を解決し、目的を達成するため、開示のデータ処理装置は、データを処理するデータ処理装置であって、記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理部と、前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理部に取り込むデータ取込手段を備えることを要する。
【００２１】
また、開示のデータ転送方法は、データ処理装置によってデータを処理するデータ処理方法であって、記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理部とを有し、前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理部に取り込むデータ取込ステップを含むことを要する。
【００２２】
また、開示のデータ転送プログラムは、データ処理装置としてのコンピュータにデータを処理させるデータ処理プログラムであって、記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部とを有し、読み込んだデータをデータ処理し、次に必要なデータのアドレス情報を前記アドレス記憶部に設定するデータ処理手順と、前記入力データが、バスを介して前記データ記憶部に対して転送されているときに、前記バスの上を流れるデータを監視して、前記アドレス情報に相当するデータが流れると、当該データを前記データ処理手順によって参照される記憶部に取り込むデータ取込手順をデータ処理装置としてのコンピュータに実行させることを要する。
【発明の効果】
【００２３】
開示のデータ処理装置、データ転送方法およびデータ処理プログラムによれば、データの転送によるバスの帯域の圧迫を軽減することが可能である。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この発明に係るデータ処理装置、データ転送方法およびデータ処理プログラムの実施例を詳細に説明する。なお、以下では、データの転送方式としてＤＭＡを使用するデータ処理装置（例えば、画像処理装置）に本発明を適用した場合を実施例として説明する。
【実施例１】
【００２５】
以下の実施例１では、実施例１に係るデータ処理装置の概要および特徴、データ処理装置の構成、データ処理装置の処理の流れを順に説明し、最後に実施例１の効果を説明する。
【００２６】
［実施例１に係るデータ処理装置の概要および特徴］
まず最初に、図１を用いて実施例１に係るデータ処理装置の概要および特徴を説明する。図１は、実施例１に係るデータ処理装置の概要および特徴を説明するための図である。
【００２７】
実施例１に係るデータ処理装置は、記憶装置からデータを入力して、入力したデータを一時的に記憶するデータ記憶部と、取り込むデータを特定するアドレス情報を記憶しているアドレス情報記憶部と、読み込んだデータをデータ処理し、次に必要なデータのアドレス情報をアドレス記憶部に設定するデータ処理部とを有する。
【００２８】
このような構成の下、実施例１に係るデータ処理装置は、データの転送によるバスの帯域の圧迫を軽減することを主たる特徴とする。
【００２９】
すなわち、実施例１に係るデータ処理装置は、図１に示すように、入力データが、バスを介してデータ記憶部に対して転送されているときに、バスの上を流れるデータを監視して、アドレス情報に相当するデータが流れると、このデータをデータ処理部に取り込む。
【００３０】
このようなことから、実施例１に係るデータ処理装置は、上記した主たる特徴のごとく、データの転送によるバスの帯域の圧迫を軽減することが可能である。
【００３１】
［データ処理装置の構成］
次に、図２、図３を用いて、図１に示したデータ処理装置の構成を説明する。図２は、データ処理装置の構成を示すブロック図である。図３は、実施例１のシチュエーションを説明するための図である。図２に示すように、このデータ処理装置１０は、入出力制御部１１〜１３と、データ記憶部１４と、ＣＰＵ１５と、ＤＭＡコントローラ１６と、バス監視部１７とを有する。
【００３２】
ここで、入出力制御部１１〜１３、ＤＭＡコントローラ１６およびバス監視部１７は、バス１８を介してそれぞれ接続される。また、入出力制御部１１は、図示しない記憶装置（例えば、データ処理装置１０の外部に設置された外部装置やデータ処理装置１０が有する内蔵ハードディスク）に接続され、入出力制御部１２は、データ記憶部１４に接続され、入出力制御部１３およびバス監視部１７は、ＣＰＵ１５に接続される。
【００３３】
そして、特に本発明に密接に関連するものとしては、ＣＰＵ１５は、メモリ１５ａと、データ処理部１５ｂとを有し、バス監視部１７は、レジスタ１７ａと、データ取込部１７ｂとを有する。
【００３４】
なお、請求の範囲に記載の「データ記憶部」は、例えば、データ記憶部１４に対応し、「データ処理部」は、例えば、ＣＰＵ１５に対応し、「データ取込手段」は、例えば、バス監視部１７に対応し、「アドレス情報記憶部」は、レジスタ１７ａに対応する。
【００３５】
このような構成の下、以下では、アドレス情報Ａによって特定されるデータ（図３の（１）参照）を外部装置からデータ記憶部１４に転送する際に、アドレス情報Ａによって特定されるデータの中で、アドレス情報Ａ−１によって特定される一部のデータ（図３の（２）参照）をメモリ１５ａに格納するシチュエーションについて詳細に説明する。
【００３６】
ここで、アドレス情報Ａやアドレス情報Ａ−１は、データの読み込み処理を実行するデバイスが入出力制御部１１であることを示したデバイス情報と、記憶装置においてデータが記憶されている記憶領域の開始地点を特定するアドレスと、データの書き込み処理を実行するデバイスが入出力制御部１２であることを示したデバイス情報と、データ記憶部１４においてデータを格納すべき記憶領域の開始地点を特定するアドレスと、記憶装置からデータ記憶部１４に転送するデータの長さを示すアドレス長とを含んだ情報である。また、アドレス情報Ａ−１は、アドレス情報Ａによって特定されるデータの一部を特定するための情報である。
【００３７】
なお、アドレス情報Ａ−１の構成は、本発明を特定するものではなく、入力元の開始アドレスと、ＣＰＵ１５の内部にあるメモリ１５ａの出力先アドレスと、取り出すデータの長さを表すアドレス長を含んだ情報であれば適用することができる。さらに、アドレス情報Ａ−１は、バスを介してデータ記憶部に対して転送されるデータの長さが一定である場合には、アドレス長を含まなくてもよい。
【００３８】
図２に示した、入出力制御部１１〜１３は、ポート、アダプタ、ＶＩＮ（Ｖｉｄｅｏ  Ｉｎｐｕｔ）などを有し、ＤＭＡコントローラ１６から制御を受けて、それぞれに接続されている記憶部に対するデータの入出力を制御する。
【００３９】
例えば、入出力制御部１１は、バス１８上を流れるアドレス情報Ａ−１を含んだ読み込み指示を受け付けると、処理エラーなどの障害が発生していない場合を除いて、ＤＭＡコントローラ１６に対してデータの読込準備が完了した旨を示したＲＤＹ信号を返信する。そして、入出力制御部１１は、アドレス情報Ａ−１によって特定されるデータを記憶装置の記憶部から読み込み、バス１８上に送出する。
【００４０】
また、入出力制御部１２は、バス１８上を流れるアドレス情報Ａ−１を含んだ書き込み指示を受け付けると、処理エラーなどの障害が発生していない場合を除いて、ＤＭＡコントローラ１６に対してデータの書込準備が完了した旨を示したＲＤＹ信号を返信する。そして、入出力制御部１２は、バス１８上を流れるデータを取り込み、データ記憶部１４にデータを格納する。
【００４１】
データ記憶部１４は、記憶装置からデータを入力して、入力したデータを一時的に記憶する。具体的には、データ記憶部１４は、メモリ１５ａに比べ転送速度が遅いメインメモリ（例えば、ＳＤＲＡＭ）に相当し、入出力制御部１２によって取り込まれたデータを記憶する。
【００４２】
メモリ１５ａは、ＣＰＵ１５による各種処理に必要なデータおよびプログラムを格納する。具体的には、メモリ１５ａは、転送速度が高速のキャッシュメモリ（例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））に相当し、データ処理の処理手順を規定したデータ処理プログラムを記憶するとともに、データを記憶する。
【００４３】
データ処理部１５ｂは、各種の処理手順などを規定したプログラムによってデータをデータ処理する。具体的には、データ処理部１５ｂは、ＣＰＵコアチップに相当し、データ処理開始指示を受け付けると、レジスタ１７ａにアドレス情報Ａ−１を格納する。続いて、データ処理部１５ｂは、ＤＭＡコントローラ１６に対してアドレス情報Ａを送信し、データ転送処理を依頼する。そして、データ処理部１５ｂは、メモリ１５ａに記憶されたデータをデータ処理する。
【００４４】
ＤＭＡコントローラ１６は、バス１８の上を流れるデータを制御する。具体的には、ＤＭＡコントローラ１６は、データ処理部１５ｂからアドレス情報Ａを含んだデータ転送処理の依頼を受け付けると、アドレス情報Ａ−１を含んだ入出力制御部１２宛ての書き込み指示をバス１８上に送出する。続いて、ＤＭＡコントローラ１６は、入出力制御部１２からＲＤＹ信号を受け付けると、アドレス情報Ａ−１を含んだ入出力制御部１１宛ての読み込み指示をバス１８上に送出する。
【００４５】
続いて、ＤＭＡコントローラ１６は、入出力制御部１１からＲＤＹ信号を受け付けると、入出力制御部１１に対して記憶装置からデータを読み込むよう制御し、入出力制御部１２に対してバス１８上を流れるデータを取り込み、データ記憶部１４にデータを格納するよう制御する。
【００４６】
レジスタ１７ａは、取り込むデータを特定するアドレス情報を記憶する。具体的には、レジスタ１７ａは、アドレス情報Ａ−１を記憶する。
【００４７】
データ取込部１７ｂは、入力データが、バスを介してデータ記憶部１４に対して転送されているときに、バス１８の上を流れるデータを監視して、アドレス情報に相当するデータが流れると、このデータをＣＰＵ１５に取り込む。
【００４８】
具体的には、データ取込部１７ｂは、バス１８上を流れるアドレス情報Ａ−１を含んだ入出力制御部１２宛ての書き込み指示を受け付けると、レジスタ１７ａに記憶されているアドレス情報に一致することを確認する。続いて、データ取込部１７ｂは、バス１８の上を流れるデータを監視して、バス１８上を流れるデータを取り込み、データをメモリ１５ａに格納する。
【００４９】
言い換えると、データ取込部１７ｂは、ＤＭＡコントローラ１６からバス１８に送出した入出力制御部１２宛ての書き込み指示に含まれているアドレス情報が、レジスタ１７ａに記憶されているアドレス情報に一致することを確認する。そして、データ取込部１７ｂは、この書き込み指示に起因してバス１８に送出した入出力制御部１２宛てのデータをメモリ１５ａに格納する。
【００５０】
［データ処理装置による処理］
次に、図４を用いて、データ処理装置１０による処理を説明する。図４は、データ処理装置による処理の流れを示すフローチャート図である。
【００５１】
図４に示すように、データ処理開始指示を受け付けると（ステップＳ１００１：Ｙｅｓ）、データ処理装置１０は、レジスタ１７ａにアドレス情報を格納する（ステップＳ１００２）。
【００５２】
続いて、データ処理装置１０は、入力データが、バスを介してデータ記憶部１４に対して転送されているときに、バス１８の上を流れるデータを監視して、アドレス情報に相当するデータが流れると、このデータをＣＰＵ１５に取り込む（ステップＳ１００３）。そして、データ処理装置１０は、データをデータ処理して（ステップＳ１００４）、処理を終了する。
【００５３】
［実施例１の効果］
上記したように、実施例１によれば、データの転送によるバスの帯域の圧迫を軽減することが可能である。例えば、実施例１によれば、記憶装置からデータ記憶部１４に転送されたデータの中で、メモリ１５ａに取り込まれなかった残りのデータをデータ処理部１５ｂによるデータ処理の進捗状況に応じて、データ記憶部１４からメモリ１５ａに転送すればよいので、データの転送によるバスの帯域の圧迫を軽減することが可能である。
【００５４】
また、実施例１によれば、データを転送する処理手順を削減することも可能である。例えば、実施例１によれば、記憶装置に記憶されているデータのデータ量が、メモリ１５ａのデータの記憶容量よりも小さい場合には、データ処理部１５ｂデータ処理の進捗状況に応じて、データ記憶部１４からメモリ１５ａに転送する処理手順を削減することができる。
【００５５】
また、実施例１によれば、ＤＭＡコントローラ１６によるデータの流れの制御方法を変更する必要がないので、実装が容易である。
【実施例２】
【００５６】
ところで、実施例１では、レジスタ１７ａと、データ取込部１７ｂとをバス監視部１７が有し、バス監視部１７のデータ取込部１７ｂがバス１８の上を流れるデータを監視して、アドレス情報に相当するデータをＣＰＵ１５に取り込む場合を説明した。
【００５７】
しかしながら、アドレス情報に相当するデータを優先的に取り出し、ＣＰＵ１５に転送する処理をＤＭＡコントローラ１６が実行するようにしても本発明を実現可能である。そこで、実施例２では、ＤＭＡコントローラ１６がアドレス情報に相当するデータを優先的に取り出し、ＣＰＵ１５に転送する場合を説明する。なお、以下の実施例２では、実施例２に係るデータ処理装置の構成と、実施例２の効果を説明する。
【００５８】
［実施例２に係るデータ処理装置の構成］
実施例２に係るデータ処理装置１０の構成は、図５に示すように、バス監視部１７のかりに、ＤＭＡコントローラ１６にレジスタ１６ａと、データ取込部１６ｂとを備えることの他は、実施例１に係るデータ処理装置１０と、以下に説明する点が異なる。なお、図５は、実施例２に係るデータ処理装置の構成を示すブロック図である。
【００５９】
すなわち、入出力制御部１３は、バス１８上を流れるアドレス情報Ａ−１を含んだ書き込み指示を受け付けると、処理エラーなどの障害が発生していない場合を除いて、ＤＭＡコントローラ１６に対してデータの書込準備が完了した旨を示したＲＤＹ信号を返信する。そして、入出力制御部１２は、バス１８上を流れるデータを取り込み、データ記憶部１４にデータを格納する。
【００６０】
データ処理部１５ｂは、データ処理開始指示を受け付けると、レジスタ１６ａにアドレス情報Ａ−１を格納する。また、レジスタ１６ａは、アドレス情報Ａ−１を記憶する。
【００６１】
データ取込部１６ｂは、アドレス情報に基づいてバスの上を流れる監視し、データを優先的に取り出し、所定のアドレスに転送する。具体的には、データ取込部１６ｂは、レジスタ１６ａに記憶されているアドレス情報Ａ−１を含んだ入出力制御部１３宛ての書き込み指示をバス１８上に送出する。
【００６２】
［実施例２の効果］
上記したように、実施例２によれば、アドレス情報に相当するデータを優先的に取り出し、ＣＰＵ１５に転送する処理をＤＭＡコントローラ１６が実行して、データの転送によるバスの帯域の圧迫を軽減することが可能である。
【００６３】
また、実施例２によれば、ＤＭＡコントローラ１６による処理を変更することで、データの転送によるバスの帯域の圧迫を軽減することができるので、実装が容易である。
【実施例３】
【００６４】
さて、本発明は、これまで説明した実施例１および２以外の種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例３として、他の実施例を説明する。
【００６５】
例えば、実施例１および２では、記憶装置から入力データを、バス１８を介してデータ記憶部１４に対して転送し、アドレス情報に基づいて監視されたデータをＣＰＵ１５に転送する場合を説明した。しかしながら、バス１８の上を流れるデータの転送先は、データ記憶部１４に限定されるものではない。
【００６６】
例えば、データの記憶を行わず、アドレスだけ割り当てられたダミーメモリをさらに備えさせ、ＤＭＡコンローラ１６がこのダミーメモリ対してデータを転送し、アドレス情報に基づいて、バス１８の上を流れるデータが取り出すデータか否か監視し、取り出し対象のデータを優先的に取り出して、ＣＰＵ１５に転送するようにしても本発明に適用が可能である。
【００６７】
また、実施例１では、ＣＰＵ１５と、バス監視部１７とを個別に有する場合を説明したが、図６に示すように、バス監視部１７をＣＰＵ１５に含ませるようにしてもよい。なお、図６は、実施例３に係るデータ処理装置の構成を示すブロック図である。
【００６８】
また、データをデータ処理するデバイスは、ＣＰＵ１５に限定されるものではない。例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）にデータ処理機能を備えさせ、データ記憶部１４に記憶装置から読み込んだデータを格納する際に、このデータの中から一部または全部のデータをこのＦＰＧＡが有する記憶部に取り込むようにしてもよい。
【００６９】
また、記憶装置から入力される入力データが動画データであり、ＣＰＵ１５が動画の物体検出または追跡処理を行うものとする。ここで、ＣＰＵ１５は、検出又は追跡する物体を検出して、動画データの中から、優先的に取り出す物体の次の位置を推定し、優先的に取り出す動画データの部分のアドレス情報を求め、アドレス情報として、入力元の開始アドレスと、ＣＰＵ１５内部にある高速メモリの出力先アドレスと、取り出すデータの長さを表すアドレス長をレジスタ１７ａ（もしくは、１６ａ）に設定する。また、ＤＭＡコントローラ１６は、記憶装置から入力される入力データから、バス１８を介して送出されるデータの中からアドレス情報に基づき、該当するデータを優先的に高速メモリ（メモリ１５ａなど）に転送するようにする。このようにすることで、検出又は追跡する物体のデータを優先的に高速メモリに転送することも可能である。
【００７０】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した、ＣＰＵ１５を複数備えることができる。また、図２に示した、入出力制御部１３と、バス監視部１７とを統合して構成することができる。
【００７２】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ１５とは別のＣＰＵ（図示しない）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
ところで、本発明はあらかじめ用意されたプログラムをデータ処理装置１０としてのコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図７を用いて、上記の実施例に示したデータ処理装置１０と同様の機能を有するデータ処理プログラムを実行するコンピュータを一例として説明する。図７は、データ処理プログラムを実行するコンピュータを示す図である。
【００７４】
同図に示すように、データ処理装置１０としてのコンピュータ１１０は、入出力制御部１１１〜１１３、ＲＯＭ１２０、ＣＰＵ１３０、バス監視部１４０、データ記憶部１５０、ＤＭＡコントローラ１６０をバス１７０などで接続して構成される。
【００７５】
ＲＯＭ１２０には、上記の実施例１に示したデータ処理装置１０と同様の機能を発揮するデータ処理プログラム、つまり、図７に示すようにデータ処理プログラム１２１と、データ取込プログラム１２２とが、あらかじめ記憶されている。なお、データ処理プログラム１２１と、データ取込プログラム１２２とについては、図２に示したデータ処理装置１０の各構成要素と同様、適宜統合または、分散してもよい。
【００７６】
そして、ＣＰＵ１３０がデータ処理プログラム１２１をＲＯＭ１２０から読み出し、バス監視部１４０がデータ取込プログラム１２２をＲＯＭ１２０から読み出して実行することで、図７に示すように、データ処理プログラム１２１は、データ処理プロセス１３１として、また、データ取込プログラム１２２は、データ取込プロセス１４１として機能するようになる。なお、データ処理プロセス１３１は、図２に示した、データ処理部１５ｂに対応し、データ取込プロセス１４１は、図２に示した、データ取込部１７ｂに対応する。
【００７７】
なお、上記したデータ処理プログラム１２１と、データ取込プログラム１２２とについては、必ずしも最初からＲＯＭ１２０に記憶させておく必要はなく、例えば、コンピュータ１１０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１０の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１０に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１０がこれから各プログラムを読み出して実行するようにしてもよい。
【００７８】
なお、本実施例で説明したデータ処理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【図面の簡単な説明】
【００７９】
【図１】実施例１に係るデータ処理装置の概要および特徴を説明するための図である。
【図２】データ処理装置の構成を示すブロック図である。
【図３】実施例１のシチュエーションを説明するための図である。
【図４】データ処理装置による処理の流れを示すフローチャート図である。
【図５】実施例２に係るデータ処理装置の構成を示すブロック図である。
【図６】実施例３に係るデータ処理装置の構成を示すブロック図である。
【図７】データ処理プログラムを実行するコンピュータを示す図である。
【図８】従来技術の概要を説明するための図である。
【符号の説明】
【００８０】
１０  データ処理装置
１１〜１３  入出力制御部
１４  データ記憶部
１５  ＣＰＵ
１５ａ  メモリ
１５ｂ  データ処理部
１６  ＤＭＡコントローラ
１６ａ  レジスタ
１６ｂ  データ取込部
１７  バス監視部
１７ａ  レジスタ
１７ｂ  データ取込部
１８  バス
１１０  コンピュータ
１１１〜１１３  入出力制御部
１２０  ＲＯＭ（Read Only Memory）
１２１  データ処理プログラム
１２２  データ取込プログラム
１３０  ＣＰＵ（Central Processing Unit）
１３１  データ処理プロセス
１４０  バス監視部
１４１  データ取込プロセス
１５０  データ記憶部
１６０  ＤＭＡコントローラ
１７０  バス
【図１】
2009245005.tif 000003
【図２】
2009245005.tif 000004
【図３】
2009245005.tif 000005
【図４】
2009245005.tif 000006
【図５】
2009245005.tif 000007
【図６】
2009245005.tif 000008
【図７】
2009245005.tif 000009
【図８】
2009245005.tif 000010