(57)【要約】【課題】プロセッサの処理負荷を軽減することができ、プロセッサで実行するプログラムの開発コストを軽減することができるようにする。【解決手段】画像処理装置において、データ転送装置３０は、規格に従って通信可能な外部記憶装置３が接続可能であり、データ転送装置３０は、バスマスタデバイスから、外部記憶装置３に記憶されている読出対象のデータについてのバス側での第１データ範囲を含む第１読出要求を取得する入出力Ｉ／Ｆ回路３２と、第１読出要求に基づいて、第１データ範囲に対応するデータを包含する、外部記憶装置３における第２データ範囲を生成し、第２データ範囲を含む第２読出要求を生成する制御回路３５と、第２読出要求を送信する転送回路３３と、を備え、入出力Ｉ／Ｆ回路３２を、読み出した第２読出要求に対応するデータ範囲のデータから第１データ範囲に対応するデータを抽出し、バスマスタデバイスに送信するようにする。【選択図】図２
2018169803.tif 000002
【特許請求の範囲】
【請求項１】
１以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置であって、
前記データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、
前記データ転送装置は、
前記バスマスタデバイスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得部と、
前記取得部により取得された前記第１読出要求に基づいて、前記第１データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第２データ範囲を生成し、前記第２データ範囲を含む第２読出要求を生成する読出要求生成部と、
前記読出要求生成部により生成された前記第２読出要求を前記外部記憶装置に送信する転送部と、
前記外部記憶装置から読み出した前記第２読出要求に対応するデータ範囲のデータから前記第１データ範囲に対応するデータを抽出し、抽出した前記第１データ範囲に対応するデータを前記バスマスタデバイスに送信する抽出部と、
を備えるデータ処理装置。
【請求項２】
前記読出要求生成部は、前記第１読出要求中の前記バス側の第１データ範囲のデータを含む、前記外部記憶装置における所定のサイズの論理ブロックの範囲を特定し、特定した論理ブロックの範囲を前記第２データ範囲として前記第２読出要求に含め、
前記抽出部は、前記外部記憶装置から読み出した前記第２読出要求に含めた前記第２データ範囲のデータから、前記バス側の第１データ範囲に対応するデータを抽出する
請求項１に記載のデータ処理装置。
【請求項３】
前記データ転送装置は、
前記転送部を前記外部記憶装置との間の前記規格に従う通信を可能にするための初期化処理を行う初期化処理部をさらに有する
請求項１又は請求項２に記載のデータ処理装置。
【請求項４】
前記初期化処理部は、前記データ転送装置に接続された前記外部記憶装置と前記転送部との間で従う前記規格を示す規格情報を取得し、前記規格情報に対応する前記規格で通信可能なように前記転送部に対して初期化処理を行う
請求項３に記載のデータ処理装置。
【請求項５】
前記データ転送装置は、
前記データ転送装置内において使用する、プログラム又は設定値の少なくとも一方を書き換え可能に記憶する記憶部と、
前記プログラム又は前記設定値の少なくとも一方を利用可能な制御回路と、
をさらに有し、
前記制御回路は、前記プログラムを実行することにより、前記取得部、前記読出要求生成部、前記転送部、前記抽出部、又は前記初期化処理部の少なくとも一つを構成し、又は前記設定値を用いて、前記取得部、前記読出要求生成部、前記転送部、前記抽出部、又は前記初期化処理部の少なくとも一つの設定を行う
請求項３又は請求項４に記載のデータ処理装置。
【請求項６】
前記データ転送装置は、複数の前記規格のいずれかに従う外部記憶装置を接続可能である
請求項３から請求項５のいずれか一項に記載のデータ処理装置。
【請求項７】
バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置であって、
前記バスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得部と、
前記取得部により取得された前記第１読出要求に基づいて、前記第１データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第２データ範囲を生成し、前記第２データ範囲を含む第２読出要求を生成する読出要求生成部と、
前記読出要求生成部により生成された前記第２読出要求を前記外部記憶装置に送信する転送部と、
前記外部記憶装置から読み出した前記第２読出要求に対応するデータ範囲のデータから前記第１データ範囲に対応するデータを抽出し、抽出した前記第１データ範囲に対応するデータを前記バス側に送信する抽出部と、
を備えるデータ転送装置。
【請求項８】
１以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置によるデータ処理方法であって、
前記データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、
前記バスマスタデバイスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得ステップと、
取得された前記第１読出要求に基づいて、前記第１データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第２データ範囲を生成し、前記第２データ範囲を含む第２読出要求を生成する読出要求生成ステップと、
生成された前記第２読出要求を前記外部記憶装置に送信する送信ステップと、
前記外部記憶装置から読み出した前記第２読出要求に対応するデータ範囲のデータから前記第１データ範囲に対応するデータを抽出し、抽出した前記第１データ範囲に対応するデータを前記バスマスタデバイスに送信する抽出ステップと、
を備えるデータ処理方法。
【請求項９】
バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置のプロセッサに実行させるためのデータ転送プログラムであって、
前記プロセッサに、
前記バスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する処理と、
前記第１読出要求に基づいて、前記第１データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第２データ範囲を生成し、前記第２データ範囲を含む第２読出要求を生成する処理と、
生成された前記第２読出要求を前記外部記憶装置に送信する処理と、
前記外部記憶装置から読み出した前記第２読出要求に対応するデータ範囲のデータから前記第１データ範囲に対応するデータを抽出し、抽出した前記第１データ範囲に対応するデータを前記バス側に送信する処理と、
を実行させるためのデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置からデータを読み出して所定の処理を実行するデータ処理装置等に関する。
【背景技術】
【０００２】
データ処理装置の一例として、画像を処理する画像処理装置においては、バス上にプロセッサや、外部記憶装置に接続されたデータ転送回路や、画像を処理する画像処理回路や、メモリ等が接続されている。このような画像処理装置においては、プロセッサや、データ転送回路や、画像処理回路がバスマスタとなる装置（バスマスタデバイス）となっている。例えば、バスマスタデバイスである画像処理回路が外部記憶装置に格納されたデータを取得するときには、画像処理回路がプロセッサに対してデータの読出要求を行い、読出要求を受けたプロセッサが、外部記憶装置からデータを読み出すための処理を実行している。プロセッサによる処理としては、例えば、データ転送回路により外部記憶装置からデータを読み出すためのコマンドを作成し、そのコマンドをデータ転送回路に実行させている。
【０００３】
このような画像処理装置に関する技術としては、演出制御部から受ける演出コマンドに基づいて画像演出を実行する画像制御部が、画像演出を中心統括的に制御するＣＰＵ回路と、ＣＰＵ回路から受ける描画リストに基づく画像データを、表示装置に出力して画像演出を実現するＶＤＰ回路と、転送データを中継するＩＦ回路と、が単一の電子素子に内蔵されて構成され、ＣＰＵ回路は、ＩＦ回路を経由して、ＶＤＰ回路の制御レジスタに所定の動作パラメータに設定して、ＶＤＰ回路の内部動作を制御する技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１５９０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記したように画像処理装置では、バスマスタデバイスが外部記憶装置からのデータを取得する場合には、プロセッサが、外部記憶装置からデータを読み出すための処理を実行している。このプロセッサによる処理は、予めユーザが作成したプログラムを実行することにより実現される。このため、このプログラムを作成するユーザに対して負荷がかかるとともに、このユーザには、データ転送回路と外部記憶装置との間のプロトコルを把握していることが必要となる。この結果、プログラムの開発コストが増加するという問題がある。
【０００６】
また、バスマスタデバイスが外部記憶装置からのデータを取得する場合には、プロセッサが処理を行わなければならず、プロセッサに処理負荷がかかり、プロセッサの処理時間が長期化してしまう虞がある。また、プロセッサの処理時間の長期化により、同一のバスを利用する他の回路においても処理時間が長期化してしまう虞もある。
【０００７】
本発明は、上記事情に鑑みなされたものであり、その目的は、プロセッサの処理負荷を軽減することができ、プロセッサで実行するプログラムの開発コストを軽減することができる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、第１の観点に係るデータ処理装置は、１以上のバスマスタデバイスと、バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置であって、データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、データ転送装置は、バスマスタデバイスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得部と、取得部により取得された第１読出要求に基づいて、第１データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第２データ範囲を生成し、第２データ範囲を含む第２読出要求を生成する読出要求生成部と、読出要求生成部により生成された第２読出要求を外部記憶装置に送信する転送部と、外部記憶装置から読み出した第２読出要求に対応するデータ範囲のデータから第１データ範囲に対応するデータを抽出し、抽出した第１データ範囲に対応するデータをバスマスタデバイスに送信する抽出部と、を備える。
【０００９】
上記データ処理装置において、読出要求生成部は、第１読出要求中のバス側の第１データ範囲のデータを含む、外部記憶装置における所定のサイズの論理ブロックの範囲を特定し、特定した論理ブロックの範囲を第２データ範囲として第２読出要求に含め、抽出部は、外部記憶装置から読み出した第２読出要求に含めた論理ブロックの範囲のデータから、バス側のデータ範囲に対応するデータを抽出するようにしてもよい。
【００１０】
また、上記データ処理装置において、データ転送装置は、転送部を外部記憶装置との間の規格に従う通信を可能にするための初期化処理を行う初期化処理部をさらに有する
ようにしてもよい。
【００１１】
また、上記データ処理装置において、初期化処理部は、データ転送装置に接続された外部記憶装置と転送部との間で従う規格を示す規格情報を取得し、規格情報に対応する規格で通信可能なように転送部に対して初期化処理を行うようにしてもよい。
【００１２】
また、上記データ処理装置において、データ転送装置は、データ転送装置内において使用する、プログラム又は設定値の少なくとも一方を書き換え可能に記憶する記憶部と、プログラム又は設定値の少なくとも一方を利用可能な制御回路と、をさらに有し、制御回路は、プログラムを実行することにより、取得部、読出要求生成部、転送部、抽出部、又は初期化処理部の少なくとも一つを構成し、又は設定値を用いて、取得部、読出要求生成部、転送部、抽出部、又は初期化処理部の少なくとも一つの設定を行ってもよい。
【００１３】
また、上記データ処理装置において、データ転送装置は、複数の規格のいずれかに従う外部記憶装置を接続可能であってもよい。
【００１４】
また、上記目的を達成するため、第２の観点に係るデータ転送装置は、バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置であって、バスから、外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得部と、取得部により取得された第１読出要求に基づいて、第１データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第２データ範囲を生成し、第２データ範囲を含む第２読出要求を生成する読出要求生成部と、読出要求生成部により生成された第２読出要求を外部記憶装置に送信する転送部と、外部記憶装置から読み出した第２読出要求に対応するデータ範囲のデータから第１データ範囲に対応するデータを抽出し、抽出した第１データ範囲に対応するデータを前記バス側に送信する抽出部と、を備える。
【００１５】
また、上記目的を達成するため、第３の観点に係るデータ処理方法は、１以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置によるデータ処理方法であって、データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、バスマスタデバイスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する取得ステップと、取得された第１読出要求に基づいて、第１データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第２データ範囲を生成し、第２データ範囲を含む第２読出要求を生成する読出要求生成ステップと、生成された第２読出要求を外部記憶装置に送信する送信ステップと、外部記憶装置から読み出した第２読出要求に対応するデータ範囲のデータから第１データ範囲に対応するデータを抽出し、抽出した第１データ範囲に対応するデータをバスマスタデバイスに送信する抽出ステップと、を備える。
【００１６】
また、上記目的を達成するため、第４の観点に係るデータ転送プログラムは、バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置のプロセッサに実行させるためのデータ転送プログラムであって、プロセッサに、バスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第１データ範囲を含む第１読出要求を取得する処理と、第１読出要求に基づいて、第１データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第２データ範囲を生成し、第２データ範囲を含む第２読出要求を生成する処理と、生成された第２読出要求を外部記憶装置に送信する処理と、外部記憶装置から読み出した第２読出要求に対応するデータ範囲のデータから第１データ範囲に対応するデータを抽出し、抽出した第１データ範囲に対応するデータをバス側に送信する処理と、を実行させる。
【発明の効果】
【００１７】
一実施態様によれば、プロセッサの処理負荷を軽減することができ、プロセッサで実行するプログラムの開発コストを軽減することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、一実施形態に係るデータ処理システムの全体構成図である。
【図２】図２は、一実施形態に係るデータ転送装置のハードウェア構成図である。
【図３】図３は、一実施形態に係るバス側のデータ範囲の指定方法と、外部記憶装置側のデータ範囲の指定方法との対応関係を説明する図である。
【図４】図４は、一実施形態に係る初期化制御処理のフローチャートである。
【図５】図５は、一実施形態に係る読出要求処理のフローチャートである。
【図６】図６は、一実施形態に係る読出データ転送処理のフローチャートである。
【発明を実施するための形態】
【００１９】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
まず、一実施形態に係るデータ処理システムについて説明する。
【００２１】
図１は、一実施形態に係るデータ処理システムの全体構成図である。
【００２２】
データ処理システム１は、データ処理装置の一例としての画像処理装置２と、外部記憶装置３と、表示装置４とを備える。
【００２３】
画像処理装置２は、例えば、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＶＤＰ（Ｖｉｄｅｏ  Ｄｉｓｐｌａｙ  Ｐｒｏｃｅｓｓｏｒ）などの画像処理ユニットであり、例えば、コンピュータにおいて画像処理を担当するプロセッシングユニットである。画像処理装置２は、例えば、１つのチップとして構成されており、制御回路１０と、１以上の処理回路２０と、データ転送装置３０と、記憶装置４０と、表示回路５０と、これら構成要素（１０，２０，３０，４０，５０）を相互に接続するバス６０とを備えている。
【００２４】
表示装置４は、画像を表示する装置であり、例えば、ＬＣＤ（液晶ディスプレイ）、ＰＤＰ（プラズマディスプレイ）、ＯＬＥＤ（有機発光ダイオードディスプレイ）等である。
【００２５】
外部記憶装置３は、画像処理装置２で使用する各種データを記憶する記憶装置である。外部記憶装置３は、例えば、ＨＤＤ（Ｈａｒｄ  ＤＩＳＫ  Ｄｒｉｖｅ）や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）であり、例えば、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）及びＰＣＩｅなどのいずれかの規格に対応している記憶装置である。
【００２６】
制御回路１０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マルチコアＣＰＵなどのプロセッサであり、記憶装置４０に格納されたプログラム等に従って画像処理装置２の全体を統括制御する。制御回路１０は、バス６０におけるバスマスタとして機能するバスマスタデバイスである。
【００２７】
本実施形態では、制御回路１０は、データ処理システム１の電源が入れられた後に、外部記憶装置３への読出要求が発行される前に、画像処理装置２に接続されている外部記憶装置３の規格に応じて、データ転送装置３０に対して、接続されている外部記憶装置３の規格に合った初期化処理を実行させるための初期化指示を送信する。この初期化指示には、初期化すべき規格を示す情報（規格情報）が含まれている。本実施形態においては、データ転送装置３０の初期化に関しては、制御回路１０は、この初期化指示を送信するのみであり、制御回路１０用のプログラムにおいては、初期化指示を送信するだけの命令の記述を行えばよい。すなわち、制御回路１０用のプログラムにおいて、外部記憶装置３の規格に合った複雑な初期化のシーケンスを行うための記述を行う必要がなく、プログラム作成量が軽減される。また、制御回路１０のプログラム作成者が、外部記憶装置３の規格に関する知識を有していなくてもよい。
【００２８】
本実施形態においては、外部記憶装置３からデータを読み出す必要がある場合には、制御回路１０は、そのデータについてのバス６０側におけるデータ範囲の指定を含む読出要求（第１読出要求）をデータ転送装置３０に発行すればよい。したがって、制御回路１０のプログラムにおいては、外部記憶装置３の規格に従ったデータ範囲の指定等を意識する必要がなく、プログラムの作成負荷が軽減される。
【００２９】
処理回路２０は、各種処理を実行する。例えば、処理回路としては、制御回路１０から供給されるディスプレイリストに基づいて画像を描画する描画回路や、図示しないスピーカ等から音声を出力させる処理を行う音声回路や、モータを駆動させるモータ駆動回路や、ＬＥＤ等の発光部による発光を制御する発光用回路や、無線通信を行う無線通信回路等がある。これらの処理回路の中には、処理を実行するために、外部記憶装置３に格納されているデータを利用するものがある。処理回路２０は、バス６０におけるバスマスタとして機能するバスマスタデバイスである。
【００３０】
本実施形態においては、外部記憶装置３からデータを読み出す必要がある場合には、処理回路２０は、そのデータについてのバス６０側におけるデータ範囲の指定を含む第１読出要求をデータ転送装置３０に発行すればよい。したがって、処理回路２０のプログラムにおいては、外部記憶装置３の規格に従ったデータ範囲の指定等を意識する必要がなく、プログラムの作成負荷が軽減される。
【００３１】
表示回路５０は、表示装置４と接続されており、処理回路２０の内の描画回路で描画された画像を表示装置４に表示させる処理を行う。表示回路５０は、バス６０におけるバスマスタとして機能するバスマスタデバイスである。
【００３２】
記憶装置４０は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成されている。記憶装置４０は、制御回路１０が画像処理装置２を制御するためのプログラムや、必要な情報等を記憶している。記憶装置４０は、バス６０におけるバススレーブとして機能するバススレーブデバイスである。
【００３３】
データ転送装置３０は、例えば、ＳＡＴＡ及びＰＣＩｅの規格に対応しており、この規格に対応する外部記憶装置３と接続可能である。データ転送装置３０は、バス６０を介してバスマスタデバイスから、外部記憶装置３からのデータの読み出しを要求する第１読出要求を取得すると、外部記憶装置３から対応するデータを読み出して、要求元のバスマスタデバイスに読み出したデータを転送する。データ転送装置３０は、バス６０におけるバススレーブとして機能するバススレーブデバイスである。
【００３４】
次に、データ転送装置３０について詳細に説明する。
【００３５】
図２は、一実施形態に係るデータ転送装置のハードウェア構成図である。
【００３６】
データ転送装置３０は、記憶装置３１と、取得部及び抽出部の一例として入出力Ｉ／Ｆ回路３２と、転送部の一例としての転送回路３３，３４と、読出要求生成部及び初期化処理部の一例としての制御回路３５と、記憶部の一例としての記憶装置３６と、構成要素（３１〜３５）を相互に接続するバス３７とを備えている。
【００３７】
入出力Ｉ／Ｆ回路３２は、バス６０に接続されている。入出力Ｉ/Ｆ回路３２は、バス６０と、バス３７との間の信号（データ）の入出力の処理を行う。例えば、入出力Ｉ／Ｆ回路３２は、外部記憶装置３に記憶されたデータの読み出しを要求する第１読出要求をバス６０におけるバスマスタデバイスから取得し、バスマスタデバイスを識別するマスタ識別情報と、第１読出要求中の読出対象のデータのデータ範囲（例えば、開始アドレス及びデータ長）と、この読出対象のデータを含むデータの入出力Ｉ／Ｆ回路３２における格納先を示す情報（格納先情報）とを対応付けて入出力Ｉ／Ｆ回路３２内の図示しないメモリに記憶するとともに、第１読出要求と格納先情報とを制御回路３５に渡す。ここで、第１読込要求は、例えば、処理回路２０の一つに描画回路があれば、その描画回路が画像を描画するときに必要なデータを読み出す際に発行される要求である。
【００３８】
また、入出力Ｉ／Ｆ回路３２は、転送回路３３（又は３４）から、格納先が指定された、外部記憶装置３から読み出したデータを受信した場合には、指定された格納先の格納先情報に対応付けられて記憶されているデータ範囲を特定し、転送回路３３から送信されるブロック単位で読み出されたデータから、特定したデータ範囲に対応するデータを抽出し、抽出したデータを第１読出要求の要求元のバスマスタデバイス（格納先情報に対応付けられて記憶されているマスタ識別情報のバスマスタデバイス）に対してバス６０を介して送信する。ここで、転送回路３３から送信されるブロック単位で読み出されたデータにおける、特定したデータ範囲のデータの位置については、データ範囲の開始アドレス及びデータ長、ブロックのサイズに基づいて特定することができる。本実施形態では、入出力Ｉ／Ｆ回路３２は、転送回路３３から送信されるデータの全体を一旦格納せずに、転送回路３３から送信されるデータを受信しつつ、データ範囲のデータを抽出して送信している。このため、入出力Ｉ／Ｆ回路３２内部のメモリの容量を抑えることができるとともに、迅速にバスマスタデバイスに読み出したデータを送信することができる。また、本実施形態では、入出力Ｉ／Ｆ回路３２が、第１読出要求のデータ範囲が示すデータだけを抽出して、バス６０側に送信するので、バス６０に流れるデータ量を低減することができる。
【００３９】
転送回路３３，３４は、それぞれが対応する規格の外部記憶装置３との間で接続可能となっており、接続された外部記憶装置３との間で規格に従った通信を行ってデータの読出処理及び書込処理を実行する。例えば、転送回路３３は、ＳＡＴＡの規格に対応する回路であり、例えば、ＳＡＴＡ  ＡＨＣＩ  ＩＰコアを含む。また、転送回路３４は、ＰＣＩｅの規格に対応する回路であり、例えば、ＰＣＩｅ  ＩＰコアを含む。本実施形態では、外部記憶装置３と接続する図示しないコネクタを共用しているので、いずれかの規格に対応する外部記憶装置３を１台だけ接続可能となっている。
【００４０】
転送回路３３（３４）は、制御回路３５により、接続された外部記憶装置３との間で通信可能な状態となるように初期化処理がされる。また、転送回路３３（３４）は、制御回路３５から第２読出要求を実行する指示を受けた場合には、記憶装置３１から第２読出要求のコマンドを読み出して、実行することにより、外部記憶装置３に対して第２読出要求を送信する。この際、転送回路３３（３４）は、この第２読出要求を識別する情報（要求識別情報）と、この第２読出要求により読み出したデータを格納すべき入出力Ｉ／Ｆ回路３２の格納先情報とを対応付けて転送回路３３内の図示しないメモリに記憶する。転送回路３３（３４）は、外部記憶装置３から第２読出要求の応答としてデータを取得した場合には、この応答に含まれる要求識別情報に対応する入出力Ｉ／Ｆ回路３２の格納先情報を特定し、読み出したデータを特定した格納先情報が示す格納先を指定して、入出力Ｉ／Ｆ回路３２に送信する。
【００４１】
記憶装置３１は、例えば、ＲＡＭ、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）などのメモリであり、外部からデータを書き換え可能な記憶装置である。例えば、記憶装置３１は、制御回路３５のワークエリアとして使用される。具体的には、記憶装置３１は、制御回路３５により生成される第２読出要求の処理を実行するためのコマンドリストを記憶する。
【００４２】
記憶装置３６は、制御回路３５に直接接続されたキャッシュメモリであり、少なくとも一部のメモリは、外部から書き換え可能なメモリとなっている。記憶装置３６は、例えば、ＳＲＡＭ及びＲＯＭなどのメモリで構成されている。記憶装置３６には、制御回路３５に実行されるプログラムや各種設定値等が格納されている。記憶装置３６には、例えば、制御回路３５が、ＳＡＴＡ及びＰＣＩｅなどのそれぞれの規格に応じて、第１読出要求から第２読出要求を生成する処理を行うための転送プログラムや、転送回路３３、３４をＳＡＴＡ及びＰＣＩｅなどのそれぞれの規格に応じた処理を行うように初期化をするための初期化プログラムや、転送回路３３、３４の内部レジスタ等を初期化するための設定値等が格納されている。
【００４３】
記憶装置３６に格納されたプログラムや設定値等は、例えば、バス３７やバス６０に接続された図示しない読出装置により、記録媒体に格納されたプログラムや設定値を読み出したものであってもよく、このようにすると、記憶装置３６に格納されたプログラムや設定値を適切なものに適宜変更、更新等することができる。記録媒体は、例えば、ＦＤ、ＣＤ、ＤＶＤ、ＢＤ（登録商標）、フラッシュメモリなどの不揮発性の記録媒体（非一時的記録媒体）であってもよい。
【００４４】
制御回路３５は、例えば、ＣＰＵ、マルチコアＣＰＵなどのプロセッサであり、記憶装置３１，３６に格納されたプログラムや、各種情報を用いてデータ転送装置３０の全体を統括制御する。制御回路３５は、例えば、転送回路３３（３４）の初期化処理を実行する。本実施形態では、制御回路３５は、例えば、制御回路１０から初期化する規格の指定を含む初期化指示を受け付けた場合に、その規格に対応する転送回路３３又は３４に対して、その規格に従う通信を可能にするための初期化処理を実行する。初期化処理には、例えば、転送回路３３又は３４における図示しない内部レジスタに、規格に応じた処理を行うための値を設定する処理等を含む。
【００４５】
また、制御回路３５は、入出力Ｉ／Ｆ回路３２から、第１読出要求及び読み出したデータの格納先情報を受け取った場合には、転送回路３３（３４）を制御するための第２読出要求（コマンドリスト）を生成し、記憶装置３１に記憶させ、転送回路３３に第２読出要求を実行する指示を出す。ここで、本実施形態では、第２読出要求には、読み出したデータを格納する入出力Ｉ／Ｆ回路３２の格納先情報が含まれている。
【００４６】
制御回路３５は、第１読出要求から第２読出要求を生成する場合には、第１読出要求で指定されている、バス６０側の規格に従う読出対象のデータ範囲を、第２読出要求における外部記憶装置３側の規格に従うデータ範囲に変換する処理を行う。
【００４７】
次に、第１読出要求で指定されている、バス６０側の規格に従う読出対象のデータ範囲と、第２読出要求における外部記憶装置３側の規格に従うデータ範囲とについて説明する。
【００４８】
図３は、一実施形態に係るバス側のデータ範囲の指定方法と、外部記憶装置側のデータ範囲の指定方法との対応関係を説明する図である。
【００４９】
バス６０側の規格、すなわち、第１読出要求においては、読出対象のデータのデータ範囲をバイト単位で指定するようになっている。具体的には、バス６０側では、アドレス空間における読出対象のデータのバイト単位での開始アドレスと、読出対象のデータの開始アドレスからのバイト単位のデータ長との組でデータ範囲を指定するようになっている。
【００５０】
一方、外部記憶装置３側の規格、すなわち、第２読出要求においては、読出対象のデータのデータ範囲は、１バイトよりも大きい所定のサイズ（例えば、５１２バイト）の論理ブロック（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ）を単位として指定するようになっている。具体的には、外部記憶装置３側では、読出対象のデータの開始ブロックアドレス（開始ＬＢＡ）と、読出対象のデータが属するブロック数との組でデータ範囲を指定している。
【００５１】
制御回路３５は、第１読出要求における読出対象のデータのデータ範囲に基づいて、第２読出要求における読出対象のデータのデータ範囲を特定して、第２読出要求を生成している。
【００５２】
例えば、読出対象のデータがデータＲＤ１である場合には、第１読出要求においては、データ範囲は、開始アドレスＡ１、データ長Ｓ１として指定されているが、制御回路３５は、開始アドレスＡ１、データ長Ｓ１として指定されているデータ範囲を包含する論理ブロックの範囲が３ＬＢＡ（３番目の論理ブロック：開始ＬＢＡ）から１つのブロックの範囲であると特定し、第２読出要求におけるデータ範囲を、３ＬＢＡ、１ブロックとする。
【００５３】
また、例えば、読出対象のデータがデータＲＤ２である場合には、第１読出要求においては、データ範囲は、開始アドレスＡ２、データ長Ｓ２として指定されているが、制御回路３５は、開始アドレスＡ２、データ長Ｓ２として指定されているデータ範囲を包含する論理ブロックの範囲が４ＬＢＡ（４番目の論理ブロック）から２つのブロックの範囲であると特定し、第２読出要求におけるデータ範囲を、４ＬＢＡ、２ブロックとする。なお、開始ＬＢＡと、ブロック数とについては、開始アドレスと、データ長と、ブロックのサイズとから算出することができる。図３に示すように、第２読出要求におけるデータ範囲は、第１読出要求のデータ範囲を包含するようになっており、第２読出要求で読み出されるデータ量は、第１読出要求のデータ範囲のデータ量よりも多くなってしまう場合が多い。
【００５４】
次に、本実施形態に係る画像処理装置２における処理動作について説明する。
【００５５】
図４は、一実施形態に係る初期化制御処理のフローチャートである。
【００５６】
初期化制御処理は、画像処理システム１の電源が投入された後に、データ転送装置３０において実行される。
【００５７】
制御回路３５は、入出力Ｉ／Ｆ回路３２を介して、制御回路１０から初期化指示を取得したか否かを判定する（Ｓ１１）。この結果、初期化指示を受け取っていない場合（Ｓ１１でＮｏ）には、制御回路３５は、ステップＳ１１の処理を繰り返し実行する。
【００５８】
一方、初期化指示を受け取った場合（Ｓ１１でＹｅｓ）には、制御回路３５は、記憶装置３６から初期化指示に含まれている規格に対応する初期化プログラムを読み込み（Ｓ１２）、この初期化プログラムを実行することにより、初期化指示に含まれている規格に対応する転送回路（３３又は３４）を初期化する処理を実行し（Ｓ１３）、初期化制御処理を終了する。例えば、ステップＳ１１で、ＳＡＴＡ規格の指定を含む初期化指示を受け取った場合には、制御回路３５は、記憶装置３６からＳＡＴＡ規格用の初期化プログラムを取得し、この初期化プログラムを実行することにより、ＳＡＴＡ規格に対応する制御回路３３を初期化する。
【００５９】
図５は、一実施形態に係る読出要求処理のフローチャートである。
【００６０】
読出要求処理は、画像処理システム１の電源が投入された後に、データ転送装置３０において実行され、画像処理システム１の電源がオン状態の間繰り返して実行される。なお、以下の説明では、外部記憶装置３は、ＳＡＴＡ規格の記憶装置であり、初期化処理においては、ＳＡＴＡ規格に対応する転送回路３３が初期化され、また、第１読出要求で指定している読出対象のデータは、外部記憶装置３に格納されているものとして説明する。
【００６１】
制御回路３５は、転送回路３３の初期化が完了したか否かを判定する（Ｓ２１）。なお、制御回路３５は、転送回路３３から初期化処理が完了したとの通知を受け取ることにより、転送回路３３の初期化が完了したと判定してもよい。
【００６２】
この結果、転送回路３３の初期化が完了していない場合（Ｓ２１でＮｏ）には、制御回路３５は、ステップＳ２１の処理を繰り返し実行する。
【００６３】
一方、転送回路３３の初期化が完了した場合（Ｓ２１でＹｅｓ）には、入出力Ｉ／Ｆ回路３２は、バス６０を介してバスマスタデバイスから第１読出要求を取得したか否かを判定する（Ｓ２２）。バスマスタデバイスから第１読出要求を取得していない場合（Ｓ２２でＮｏ）には、入出力Ｉ／Ｆ回路３２は、ステップＳ２２を繰り返し実行する。
【００６４】
一方、バスマスタデバイスから第１読出要求を取得した場合（Ｓ２２でＹｅｓ）には、入出力Ｉ／Ｆ回路３２は、第１読出要求中の読出対象のデータのデータ範囲と、読み出したデータを格納する入出力Ｉ／Ｆ回路３２の格納先情報と、第１読出要求を要求したバスマスタデバイスのマスタ識別情報とを対応付けて記憶し（Ｓ２３）、第１読出要求と、読み出したデータの入出力Ｉ／Ｆ回路３２の格納先情報とを制御回路３５に送信する（Ｓ２４）。
【００６５】
制御部３５は、第１読出要求及び読み出したデータの格納先情報を受け取った場合には、転送回路３３に実行させるための第２読出要求（コマンドリスト）を生成し（Ｓ２５）、第２読出要求を記憶装置３１に記憶させ（Ｓ２６）、転送回路３３に第２読出要求を実行する指示を出す（Ｓ２７）。
【００６６】
実行指示を受けた転送回路３３は、記憶部３１に記憶された第２読出要求を外部記憶装置３に送信し（Ｓ２８）、読出要求処理を終了する。この際、転送回路３３は、第２読出要求を示す識別情報と、第２読出要求中の入出力Ｉ／Ｆ回路３２の格納先情報とを対応付けて自身のメモリに記憶する。これにより、以降において、第２読出要求を受けた外部記憶装置３が、第２読出要求が指定するデータ範囲のデータを読み出して、第２読出要求の応答として、転送回路３３に読み出したデータを送信することとなる。
【００６７】
図６は、一実施形態に係る読出データ転送処理のフローチャートである。
【００６８】
読出データ転送処理は、画像処理システム１の電源が投入された後に、データ転送装置３０において実行され、画像処理システム１の電源がオン状態の間繰り返して実行される。
【００６９】
転送回路３３は、外部記憶装置３から第２読出要求に対応する応答としての読み出したデータを受信したか否かを判定する（Ｓ３１）。この結果、外部記憶装置３から読み出したデータを受信していない場合（Ｓ３１でＮｏ）には、転送回路３３は、ステップＳ３１を繰り返し実行する。
【００７０】
一方、外部記憶装置３から読み出したデータを受信した場合（Ｓ３１でＹｅｓ）には、転送回路３３は、この応答に対応する第２読出要求（応答に含まれている要求識別情報）に対応する入出力Ｉ／Ｆ回路３２の格納先情報を特定し、特定した格納先情報の格納先を指定して、受信したデータを入出力Ｉ／Ｆ回路３２に送信する（Ｓ３２）。
【００７１】
入出力Ｉ／Ｆ回路３２は、転送回路３３から、格納先が指定された、外部記憶装置３から読み出したデータを受信すると、指定された格納先の格納先情報に対応して記憶されているデータ範囲を特定し、転送回路３３から送信されるブロック単位で読み出されたデータから、特定したデータ範囲に対応するデータを抽出し（Ｓ３３）、抽出したデータを、第１読出要求の要求元のバスマスタデバイス（格納先情報に対応するマスタ識別情報に対応するバスマスタデバイス）に対してバス６０を介して送信する（Ｓ３４）。これにより、第１読出要求を行ったバスマスタデバイスが、第１読出要求で指定した外部記憶装置３のデータを取得することができる。
【００７２】
以上説明したように、本実施形態のデータ転送装置３０は、バスマスタデバイスから直接リードリクエスト（第１読込要求）を取得し、第１読込要求を外部記憶装置３に対応するリードリクエスト（第２読込要求）に変換する。さらに、データ転送装置３０は、外部記憶装置３から読み出したデータから、バスマスタデバイスに要求された範囲のデータを抽出して、バスマスタデバイスに転送する。これにより、データ転送装置３０は、画像転送システム１の全体を制御する制御回路１０の制御によることなく、外部記憶装置３のデータをバスマスタデバイスに転送することができる。したがって、外部記憶装置３からバスマスタデバイスにデータを読み出す処理を制御回路１０に実行させるためのプログラムコードを作成する必要がなく、制御回路１０のプログラムの開発に要するコストを低減することができる。また、制御回路１０が、外部記憶装置３からバスマスタデバイスにデータを読み出す処理を制御する必要がなくなったので、制御回路１０による処理負荷を低減することができ、制御回路１０による各種処理時間を短縮することができる。
【００７３】
また、本実施形態のデータ転送装置３０は、制御回路１０から転送回路３３の初期化指示を受けると、転送回路３３の初期化処理を実行する。このため、データ転送装置３０の転送回路３３を初期化させるために、制御回路１０に実行させる処理としては、単に初期化指示をデータ転送装置３０に送信するだけでよい。したがって、制御回路１０に、この処理を実行させるプログラムコードを作成するためには、プログラムの作成者は、データ転送装置３０の転送回路３３の規格の知識をもってなくてもよい。
【００７４】
また、本実施形態のデータ転送装置３０は、外部からデータを書き換え可能な記憶装置３６に、制御回路３５に実行させるプログラムや設定情報等を記憶している。これにより、転送回路３３，３４や、接続される外部記憶装置３の規格に応じて、プログラムや設定情報を、容易に変更、修正等することができ、各種規格に従ったデータ転送に対応することができる。
【００７５】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【００７６】
例えば、上記実施形態において、データ転送装置３０が対応する規格は、ＳＡＴＡ及びＰＣＩｅに限られず、他の規格に対応していてもよい。また、データ転送装置３０に、複数の外部記憶装置３が接続されていてもよく、接続される外部記憶装置３としては、同一の規格に対応する外部記憶装置でもよく、異なる種類に対応する外部記憶装置であってもよい。複数の外部記憶装置３がデータ転送装置３０に接続されている場合には、データ転送装置３０は、バスマスタデバイスからの第１読出要求に基づいて、データを読み出す外部記憶装置を特定して、特定した外部記憶装置からデータを読み出す処理を実行するようにすればよい。
【００７７】
また、上記実施形態では、制御回路１０がデータ転送装置３０に対して、初期化指示を送信するようにしていたが、本発明はこれに限られず、例えば、外部記憶装置３の種類に応じて信号が入力される画像処理装置２の外部ピンに接続され、その外部ピンへの信号の状態をデータ転送装置３０の制御回路３５に通知する調停回路を備え、画像処理装置２の電源が投入された際に、制御回路３５が調停回路からの通知に基づいて、接続されている外部記憶装置３の規格を特定し、特定した規格に従って、転送回路３３又は３４の初期化処理を行うようにしてもよい。
【００７８】
また、本実施形態では、入出力Ｉ／Ｆ回路３２は、転送回路３３から送信されるデータの全体を一旦格納せずに、転送回路３３から送信されるデータを受信しつつ、データ範囲のデータを抽出して送信するようにしていたが、本発明はこれに限られず、転送回路３３から送信されるデータの全体を一旦格納した後に、データ範囲のデータを抽出して送信するようにしてもよい。
【００７９】
また、上記実施形態では、制御回路３５に接続された記憶装置３６を備えるようにしていたが、記憶装置３６を備えずに、記憶装置３６で記憶していた情報を記憶装置３１に記憶させるようにしてもよい。
【００８０】
また、上記実施形態において、制御回路３５が行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態において、ハードウェア回路（例えば、転送回路３３，３４、入出力Ｉ／Ｆ回路３２等）が行っていた処理の少なくとも一部を、制御回路３５がプログラムを実行することにより行うようにしてもよい。
【符号の説明】
【００８１】
１…データ処理システム、２…画像処理装置、３…外部記憶装置、４…表示装置、１０…制御回路、２０…処理回路、３０…データ転送装置、３１…記憶装置、３２…入出力Ｉ／Ｆ回路、３３，３４…転送回路、３５…制御回路、３６…記憶装置、４０…記憶装置、５０…表示回路。
【図１】
2018169803.tif 000003
【図２】
2018169803.tif 000004
【図３】
2018169803.tif 000005
【図４】
2018169803.tif 000006
【図５】
2018169803.tif 000007
【図６】
2018169803.tif 000008