(57)【要約】  連続的なデータのアクセスが、メモリにおける同一バンクで互いに異なるロウアドレスで指定される領域に対するものとなる頻度を低減させて効率のよいメモリアクセスを実現すべく、データ処理装置（１０）は、同一内容のデータ（２１）及びデータ（２２）をそれぞれ第１配置様式、第２配置様式を用いてマッピングしてメモリ（２０）を構成する別のメモリ領域に格納し、データの一部を読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、アクセス効率のよい方の配置様式を選定手段（２１）により選定してそれに対応するメモリ領域にアクセス制御手段（１３）によりアクセスする。ここで、データ（２１）は、同一バンク同一ロウアドレスに対応するブロックの境界アドレスに対する相対位置の点で、データ（２２）と異なる位置に配置されている。
2012124251.tif 000002
【特許請求の範囲】
【請求項１】
複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第１及び第２の配置様式を用いて定めるマッピング手段と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、
前記部分データへのアクセスを、前記第１及び第２の配置様式により前記マッピング手段によりそれぞれ定められるべき各アドレスに対応した別々のメモリ領域それぞれに同一内容のものとして処理対象データが記録されている前記メモリにおける、前記選定手段の選定した配置様式により対応付けられたメモリの領域に、アクセスすることで実現するよう制御するアクセス制御手段とを備え、
前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とするデータ処理装置。
【請求項２】
前記処理対象データはｘ座標及びｙ座標で表される２次元画像データであり、
前記第１及び第２の配置様式は、前記アドレス空間をＸＹ２次元アドレス空間とし、メモリにおける前記ブロック毎に対応付けた描画ブロックを当該ＸＹ２次元アドレス空間に２次元に複数配置するものであり、前記第２の配置様式は、ＸＹ２次元アドレス空間における描画ブロック境界に対する相対位置の点で、前記第１の配置様式により２次元画像データの配置されるＸアドレス及びＹアドレスとは異なる位置となるように、２次元画像データのｘ座標及びｙ座標に応じてＸＹ２次元アドレス空間におけるＸアドレス及びＹアドレスを定めるものである
ことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記描画ブロックに対応するメモリにおける前記ブロックは、同一バンクで同一ロウアドレスを有するメモリセル群である
ことを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記選定手段は、前記第１及び第２の配置様式のうち、前記部分データに係るアドレス範囲に含まれる描画ブロックの数が最も少ないようにアドレスを定める１つの配置様式を選定する
ことを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってｙ座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、
前記第２の配置様式は、前記第１の配置様式により同じ部分画像に係る同じ部分データについて定めたＹアドレスとの差が、前記ｙ座標の幅に対応するＹアドレスの幅より大きくなるようにＹアドレスを定めるものである
ことを特徴とする請求項４記載のデータ処理装置。
【請求項６】
前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってｘ座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、
前記第２の配置様式は、前記第１の配置様式により同じ部分画像に係る同じ部分データについて定めたＸアドレスとの差が、前記ｘ座標の幅に対応するＸアドレスの幅より大きくなるようにＸアドレスを定めるものである
ことを特徴とする請求項４記載のデータ処理装置。
【請求項７】
前記第１及び第２の配置様式は、メモリにおける同一バンクで同一ロウアドレスを有する全てのメモリセル群に１対１に前記描画ブロックを対応付けており、第２の配置様式は、ＸＹ２次元アドレス空間における描画ブロックのＸ方向の幅及びＹ方向の幅のいずれもが、第１の配置様式とは異なるように対応付けている
ことを特徴とする請求項４記載のデータ処理装置。
【請求項８】
前記メモリと、
前記処理対象データを、前記第１及び第２の配置様式により前記マッピング手段により定められた各アドレスに対応した、前記メモリ中の、別々のメモリ領域に書き込む記録手段とを、更に備える
ことを特徴とする請求項４記載のデータ処理装置。
【請求項９】
前記処理対象データは、フレーム画像であり、
前記データ処理装置は、前記フレーム画像中の複数の位置それぞれに存在する複数の部分データを逐次読み出す処理を行うものであり、
前記フレーム画像における、読み出し対象となる部分データの位置に応じて、前記第１及び第２の配置様式のうち、前記第１の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データと、前記第２の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データとが存在することになるように、前記第１及び第２の配置様式が定められている
ことを特徴とする請求項１記載のデータ処理装置。
【請求項１０】
複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、
前記処理対象データは、複数の配置様式それぞれにより、アドレス空間において当該処理対象データの配置されるアドレス範囲と前記ブロック各々の境界アドレスとの相対位置関係が配置様式毎に互い異なるようにアドレスマッピングされており、
前記データ処理装置は、処理対象データ中の部分データを読み出すときに、アドレスマッピングされた当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、前記部分データへのアクセスを、前記選定手段の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御手段とを備える
ことを特徴とするデータ処理装置。
【請求項１１】
第１メモリ及び第２メモリと、各メモリに格納された処理対象データにアクセスする第１及び第２のデータ処理装置とを含むデータ共有システムであって、
前記各データ処理装置は、
前記処理対象データを、前記第１メモリに配置するためのアドレスを前記第１の配置様式を用いて定め、前記第２メモリに配置するためのアドレスを前記第２の配置様式を用いて定めるマッピング手段と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、
前記部分データへのアクセスを、前記選定手段の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御手段とを備え、
前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものであり、
前記アクセス制御手段は、自装置以外の他のデータ処理装置に接続されたメモリにアクセスするときは当該他のデータ処理装置を介してそのアクセスを実現するよう制御する
ことを特徴とするデータ共有システム。
【請求項１２】
前記処理対象データはｘ座標及びｙ座標で表される２次元画像データであり、
前記第１及び第２の配置様式は、前記アドレス空間をＸＹ２次元アドレス空間とし、メモリにおける前記ブロック毎に対応付けた描画ブロックを当該ＸＹ２次元アドレス空間に２次元に複数配置するものであり、前記第２の配置様式は、ＸＹ２次元アドレス空間における描画ブロック境界に対する相対位置の点で、前記第１の配置様式により２次元画像データの配置されるＸアドレス及びＹアドレスとは異なる位置となるように、２次元画像データのｘ座標及びｙ座標に応じてＸＹ２次元アドレス空間におけるＸアドレス及びＹアドレスを定めるものである
ことを特徴とする請求項１１記載のデータ共有システム。
【請求項１３】
前記選定手段は、前記第１及び第２の配置様式のうち、前記部分データに係るアドレス範囲に含まれる描画ブロックの数が最も少ないようにアドレスを定める１つの配置様式を選定する
ことを特徴とする請求項１２記載のデータ共有システム。
【請求項１４】
複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置におけるデータ処理方法であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第１及び第２の配置様式を用いて定めるマッピングステップと、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定ステップと、
前記部分データへのアクセスを、前記選定ステップにより選定された配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御ステップとを含み、
前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とするデータ処理方法。
【請求項１５】
複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスする機能を有する集積回路であって、
前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第１及び第２の配置様式を用いて定めるマッピング部と、
処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定部と、
前記部分データへのアクセスを、前記選定部の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御部とを含み、
前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものである
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画、静止画等のデータを処理するデータ処理装置に関し、特にメモリのアクセス効率の改善に関する。
【背景技術】
【０００２】
メモリの大容量化やプロセッサの処理性能の向上を背景として、近年、画像処理で扱われる画像は高解像度化しており、例えば水平１９２０画素×垂直１０８０画素のＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）動画を扱うアプリケーションソフトウェアも増加しており、現在から将来にかけて、水平４０００画素×垂直２０００画素前後の所謂４Ｋ２Ｋの動画やそれ以上の画素数の動画が扱われるようになる。【０００３】
このような高解像度の画像処理は高負荷なため、マルチプロセッサシステムにおいて各プロセッサに並列処理させる手法を始めとして、画像処理性能の向上のために各種手法が利用及び開発されている。その手法には、メモリアクセス効率を高めることに注目したものもある。【０００４】
例えば、従来、マルチプロセッサシステムにおいて、各プロセッサがプロセッサ間で共有するデータのうち自プロセッサに必要なものを選択して自プロセッサ専用メモリに複製する方式により、メモリ利用効率の向上を実現する技術が知られている(例えば、特許文献１参照）。【０００５】
ところで、一般に画像処理アプリケーションソフトウェアは、画像データをＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）に格納して、画像を構成する各画素データを順次読み出して表示する等の処理を行う。【０００６】
ここで、ＳＤＲＡＭを構成する各バンクにはロウアドレス及びカラムアドレスの指定によりアクセスできる。バースト転送機能により、同一バンクの同一ロウアドレスを指定して、各カラムアドレスで指定されるメモリ領域の各データに連続してアクセスすることができるが、連続して同一バンクの異なるロウアドレスへのアクセスが必要となる場合には、その都度必要となる所謂プリチャージコマンド及びアクティベートコマンドについて各コマンドには一定期間待って発行しなければならないというインターバル制約があるため、メモリアクセス効率が低下する。【０００７】
なお、上述の特許文献１記載の技術を用いても、データを複数のＳＤＲＡＭそれぞれに複製するだけにすぎないため、個々のＳＤＲＡＭに対する連続アクセスに由来する上述したようなメモリアクセス効率の低下は防ぐことができない。【０００８】
このメモリアクセス効率の低下を防ぐ技術として、複数のＳＤＲＡＭに２次元配置された複数の描画ブロックからなるフレームバッファ領域を割り付け、特に、隣り合う描画ブロックに異なるＳＤＲＡＭを割り付ける技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２００９／１１６２７９号パンフレット
【特許文献２】特開２００５−１９６４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、例えば画像処理であるＨ．２６４／ＭＰＥＧ ＡＶＣのＭＰＥＧエンコード処理の過程での所謂動き探索（動き補償）処理では、マクロブロック又はサブマクロブロック毎についてフレーム画像中の各位置の部分画像を逐次読み出して処理する必要があり、このような任意の位置の部分画像への連続的なアクセスは、必ずしも隣接する描画ブロックに対するものとはならないため、上述の特許文献２記載の技術では対応できず、同一バンクで異なるロウアドレスで指定されるメモリ領域に対してなされ得るので、メモリアクセス効率の低下を招き得る。なお、このようなメモリにおける同一バンクで異なるロウアドレスで指定される各メモリ領域に連続してアクセスすることで生じる問題は、必ずしも画像データに係る処理のみの問題ではない。【００１１】
そこで、本発明は上記問題に鑑みてなされたものであり、画像或いは文字その他のデータを処理する過程で、具体的には例えば画像における任意の各位置の各部分画像に逐次アクセスする、或いは文字列中における任意の各位置の各文字に逐次アクセスする過程等において、連続的なアクセスの対象となる各メモリ領域が、メモリにおける同一バンクで互いに異なるロウアドレスで指定される領域となる頻度を低減させるようにして、効率のよいメモリアクセスを実現し得るデータ処理装置、及び当該装置に関連する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために本発明に係るデータ処理装置は、複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第１及び第２の配置様式を用いて定めるマッピング手段と、処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、  前記部分データへのアクセスを、前記第１及び第２の配置様式により前記マッピング手段によりそれぞれ定められるべき各アドレスに対応した別々のメモリ領域それぞれに同一内容のものとして処理対象データが記録されている前記メモリにおける、前記選定手段の選定した配置様式により対応付けられたメモリの領域に、アクセスすることで実現するよう制御するアクセス制御手段とを備え、前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものであることを特徴とする。
【発明の効果】
【００１３】
上述の構成により、本発明に係るデータ処理装置は、同じデータが２つの配置様式によりそれぞれ配置された各メモリ領域のうち、データの一部の読み出しの都度、アクセス効率のよい方を選択してアクセスすることで、全体としてメモリアクセス効率の向上を達成し得る。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るデータ共有装置１００の機能ブロック図
【図２】アクセス管理部の機能ブロック図
【図３】メモリ１０００に対する第１の配置様式によるアドレスマッピングを示す図
【図４】描画ブロックの構成を示す図
【図５】メモリ２０００に対する第２の配置様式によるアドレスマッピングを示す図
【図６】データ共有装置１００の計算機の動作を示すフローチャート
【図７】他の計算機からアクセス要求を受けた計算機の動作を示すフローチャート
【図８】選定処理を示すフローチャート
【図９】メモリ２０００への制御信号等のタイムチャート
【図１０】メモリ１０００へのアクセスを仮定した場合のタイムチャート
【図１１】３台の計算機を有するデータ共有装置の機能ブロック図
【図１２】配置様式のバリエーションを示す図
【図１３】データ処理装置の機能ブロック図
【図１４】データ共有システムの機能ブロック図
【発明を実施するための形態】
【００１５】
＜実施形態＞
以下、本発明の一実施形態に係るデータ共有装置１００について説明する。
【００１６】
＜全体概要＞
データ共有装置１００は、マルチプロセッサ（ここでは２つのプロセッサとする。）で構成されＨ．２６４／ＭＰＥＧ ＡＶＣのＭＰＥＧエンコード処理に用いられる装置である。
【００１７】
ＭＰＥＧエンコード処理の過程では、撮像により得られるＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）動画の各フレーム画像、つまり水平１９２０画素、垂直１０８０画素からなる２次元画像のデータを、メモリに逐次格納し、処理対象のフレーム画像中の各部分画像（マクロブロック、サブマクロブロック等）毎について参照用のフレーム画像中における各位置の部分画像を読み出して類似内容の部分を探すための所謂動き探索（動き補償）が行われる。
【００１８】
このデータ共有装置１００では、連続アクセス可能なメモリ単位に対応付けたアドレス空間における描画ブロック（後に詳しく説明する。）についてのアドレス境界との関係において、互いに異なる２つの位置のメモリ領域にフレーム画像が配置されるようにアドレスマッピングを行い、フレーム画像中の任意の位置の部分画像が読み出される必要のある都度、その部分画像の位置に応じて、アドレスマッピングされた２つのアドレス範囲に基づいてメモリアクセス効率が良くなる方のメモリ領域を選択してアクセスする。
【００１９】
＜メモリアクセス制御＞
まず、データ共有装置１００の特徴となるメモリアクセス制御について簡単に説明する。
【００２０】
データ共有装置１００（図１参照）におけるメモリ１０００及びメモリ２０００は、２つのプロセッサ２１０及び３１０それぞれに接続されたＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）群であり、2つのSDRAM（メモリ０、メモリ１）で構成する。これらのＳＤＲＡＭは、４バンク構成であり、チップセレクト信号でメモリを、バンクアドレスによりバンクを指定でき、各バンク内にはロウアドレス及びカラムアドレスの指定でアクセスできる。バースト転送機能により、同一ロウアドレスを指定して、５１２個のカラムアドレスで指定される各８バイトデータに連続してアクセスすることができるが、異なるロウアドレスへのアクセスが発生した場合には、プリチャージコマンド及びアクティベートコマンドの発行の際に各コマンドは一定期間待って発行しなければならなくなるため、同一バンクの異なるロウアドレスへのアクセスが頻発するとメモリアクセス効率が低下する。
【００２１】
このデータ共有装置１００では、ＨＤ動画のフレーム画像をメモリに格納する場合に用いるアドレスマッピングとして２つの配置様式を用いることで、同じフレーム画像を２つのメモリ領域へと格納する。
【００２２】
２つの配置様式は、共に、Ｘ方向のアドレス（Ｘアドレス）とＹ方向のアドレス（Ｙアドレス）とで定まる２次元アドレス空間（ＸＹ２次元アドレス空間）に、メモリの同一バンク同一ロウアドレスで定まるブロックに対応付けた描画ブロックを、２次元的に配置するものであり、２次元画像（画像データを構成する各画素データ）をメモリに格納するためのアドレスマッピングに際して、その２次元画像における各画素の２次元座標（水平方向のｘ座標及び垂直方向のｙ座標）に基づいてＸアドレスとＹアドレスとを定める。但し２つの配置様式は、互いに、２次元アドレス空間における描画ブロック間の境界となるアドレスと２次元画像との相対位置関係を異ならせるような配置様式である。
【００２３】
本実施形態では具体的には、論理的なＸＹ２次元アドレス空間においてＸ方向のアドレスは８バイトに相当するカラム単位で、Ｙ方向のアドレスは、Ｘ方向のカラムが何列となるかというライン単位で表す。２次元に配置された各描画ブロックのＸ方向の境界アドレスは１６×Ｎ（Ｎは０以上の整数）で表され、各描画ブロックのＹ方向の境界アドレスは３２×Ｍ（Ｍは０以上の整数）で表される。また、１カラムにおいて水平８画素分、垂直１画素分の画像データを表すものとする。各描画ブロック毎に、物理アドレスとして同一バンク同一ロウアドレスで定まるＳＤＲＡＭのメモリセル群の１ブロックを対応付けることで、アクセスすべきデータの論理的なＸＹ２次元アドレス空間におけるアドレスが定まれば、ＳＤＲＡＭ中のデータに実際にアクセスする際の物理アドレス（メモリ、バンク、ロウアドレス、カラムアドレス）が定まるようにしている。なお、ＸＹ２次元アドレス空間における近接する描画ブロック同士は、互いに異なるバンクに対応付けている。
【００２４】
また、第１の配置様式によりアドレスマッピングした画素データのＹアドレスがＹ０であるとすれば、第２の配置様式によりアドレスマッピングした同じ画素データのＹアドレスはＹ０＋１６となる。なお、１つの描画ブロック内にアドレスマッピングされた画素データ群は、同一バンク同一ロウアドレスに対応付けられているため、連続的にアクセスできる。
【００２５】
そして、このデータ共有装置１００では、動き探索処理等においてフレーム画像内の各位置の部分画像を逐次読み出す際において、部分画像毎に、フレーム画像内でのその部分画像の位置に応じて、２つの配置様式のうちどちらによりアドレスマッピングされたメモリ領域にアクセスした方が効率的かを判断するための判断基準に照らして一方を選択して、選択結果に従ってアクセスする。この判断基準は、部分画像がマッピングされたアドレス範囲が跨る描画ブロックの数が少ない方が効率的と判断するというものである。
【００２６】
従って、各プロセッサによりＭＰＥＧエンコード処理を並列的に実行するデータ共有装置１００において、フレーム画像中における任意位置の部分画像についての１回の読み出しに際して描画ブロックへのアクセス数を抑えることが、アクセス性能の向上に繋がり、また、総合的には、連続して同一バンクで異なるロウアドレスへのアクセスが生じる頻度を抑えることで無駄なメモリ帯域の浪費を防止できることに繋がるので、効率的となる。
【００２７】
＜構成＞
以下、本実施形態に係るデータ共有装置１００について、特に画像データに係るアクセスに関連する構成を詳細に説明する。
【００２８】
図１に示すように、データ共有装置１００は、計算機２００及び計算機３００により構成され、計算機２００及び計算機３００は、インタフェース２７０及びインタフェース３７０を介して接続されており、計算機２００はＳＤＲＡＭチップ群であるメモリ１０００と、計算機３００はＳＤＲＡＭチップ群であるメモリ２０００とそれぞれ接続されている。
【００２９】
以下、計算機２００の構成について説明する。
【００３０】
図１に示すように、計算機２００はプロセッサ２１０及び各種回路群で構成され、各種回路群を機能面で区別すれば、アクセス管理部２２０、調停部２４０、調停部２４１、入力管理部２５０、出力管理部２６０、インタフェース２７０、メモリ制御部２８０及びアクセス置換部２９０となる。
【００３１】
プロセッサ２１０は、メモリに格納されたプログラムを実行することにより例えばＭＰＥＧエンコーディング処理の各種段階の処理の制御を行い、その処理に際して画像データを書き込み又は読み出すため、メモリ１０００又はメモリ２０００へのアクセス要求を出し、メモリアクセスを行う。即ち、プロセッサ２１０は、各フレーム画像に係るデータの書き込み要求、及び各マクロブロックに対応する部分画像を探すための動き探索処理のための部分画像に係るデータの読み出し要求等のアクセス要求を出力する機能を有する。なお、読み出し要求出力後、プロセッサ２１０は、アクセス効率のよいと判断された方のメモリからデータを読み出すことになる。ここで、アクセス要求（書き込み要求或いは読み出し要求）は、書き込み要求か読み出し要求かを識別するための属性を伴うものであり、また、アクセス対象となる画像データの左上の画像アドレス（ｘ座標、ｙ座標）及びサイズ（ｘ方向の幅及びｙ方向の幅）を伴うものである。
【００３２】
アクセス管理部２２０は、プロセッサ２１０からのアクセス要求を管理する機能、即ちアクセス要求を解析して送り先を特定してその送り先にアクセス要求を送る機能を有し、図２に示すように、アクセス解析部２３０、アクセス制御部２２１、アクセス置換部２２２及びアドレス特定部２２３を含む。
【００３３】
アドレス特定部２２３は、２次元画像データに関して画像アドレス（ｘ座標、ｙ座標）に基づいて、メモリ１０００用の第１の配置様式に従ってＸＹ２次元アドレス空間におけるアドレスを特定するとともに、メモリ２０００用の第２の配置様式に従ってＸＹ２次元アドレス空間におけるアドレスを特定する機能を有する。画像フレームの左上位置を、第１の配置様式では、ＸＹ２次元アドレス空間におけるＸアドレスの値１６×Ｎ（Ｎは０以上の整数、例えば０）、Ｙアドレスの値３２×Ｍ（Ｍは０以上の整数、例えば０）に対応付け、第２の配置様式では、Ｘアドレスの値１６×Ｎ、Ｙアドレスの値３２×Ｍ＋１６に対応付ける。
【００３４】
アクセス置換部２２２は、ＸＹ２次元アドレス空間におけるアドレスを、メモリ１０００における物理アドレスに変換する機能を有する。なお、このアクセス置換部２２２及びアドレス特定部２２３によるアドレスマッピングについては、後に更に詳しく説明する。
【００３５】
アクセス解析部２３０は、プロセッサ２１０からのアクセス要求を解析する機能を有し、アクセス属性判定部２３１、アクセス分割部２３２及び選定部２３３を含む。アクセス解析部２３０に入力されるアクセス要求は、２次元画像データに関しては矩形画像の左上及び右下の画像アドレス（ｘ座標、ｙ座標）を伴うものであり、またアクセス解析部２３０から出力されるアクセス要求は、同一バンク同一ロウアドレスのメモリセル群に対応する描画ブロックを２次元に配置してなる論理的なＸＹ２次元アドレス空間におけるアドレスを伴うものである。ここでは、ｘ座標及びｙ座標で各画素位置が指定されるｘｙ２次元画像データにおいて、ｘ座標の増加する方向を右、ｙ座標の増加する方向を下と表現する。従って矩形画像の左上は、矩形画像を構成する各画素の座標のうち最小のｘ座標、ｙ座標で示される。
【００３６】
アクセス属性判定部２３１は、アクセス要求が書き込み要求か読み出し要求かを判定する機能を有する。
【００３７】
アクセス分割部２３２は、データの書き込みに際してメモリ１０００及びメモリ２０００の両方に同じデータを書き込ませるために、メモリ１０００に対するアクセス要求（書き込み要求）とメモリ２０００に対するアクセス要求（書き込み要求）とに分けて出力する機能を有する。
【００３８】
選定部２３３は、読み出し要求の対象となる部分画像データを、メモリ１０００とメモリ２０００とのいずれから読み出す方が、アクセス効率がよいかを判断して、アクセス効率のよい方を選定する機能を有する。この判断において、アドレス特定部２２３により、その部分画像の第１の配置様式におけるアドレス範囲と、第２の配置様式におけるアドレス範囲とを求め、各アドレス範囲がＸＹ２次元アドレス空間における描画ブロック境界を何個跨いでいるか、即ち、各アドレス範囲が何個の描画ブロックに跨っているかを算定し、その個数が少ない方の配置様式に対応するメモリを、アクセス効率のよいものとして選定する。
【００３９】
アクセス制御部２２１は、アクセス解析部２３０の解析結果に基づき、アクセスするメモリを選択し、選択したメモリにアクセスするように制御する機能を有する。アクセス解析部２３０が解析した結果、アクセス要求が書き込み要求であった場合は、メモリ１０００及びメモリ２０００の両方へのデータの書き込みを実現すべくアクセス分割部２３２により２つに分けられたアクセス要求をそれぞれアクセス置換部２２２と出力管理部２６０に伝える。また、アクセス要求が読み出し要求であった場合は、アクセス要求を選定部２３３の選定結果に基づき、メモリ１０００から読み出す場合にはアクセス置換部２２２に伝え、メモリ２０００からデータを取得する場合には出力管理部２６０に伝える。
【００４０】
アクセス置換部２２２は、メモリ１０００に対する書き込み及び読み出しを行うためにＸＹ２次元アドレス空間の論理アドレスに基づいて、従来同様の、近接する描画ブロック同士を互いに異なるバンク（ＳＤＲＡＭチップを異ならせることも含む）に対応付けるためのアルゴリズムにより、ＳＤＲＡＭに対し指定するための物理アドレスを生成する機能を有する（特許文献２参照）。
【００４１】
入力管理部２５０は、計算機３００からメモリ１０００へのアクセス要求を管理する機能を有する。入力管理部２５０は、インタフェース２７０を介して送られてきたアクセス要求を受け取り、アクセス置換部２９０に送る。なお、アクセス置換部２９０はアクセス置換部２２２と同一の機能を有し、計算機３００からのＸＹ２次元アドレスを伴うアクセス要求に基づいて、メモリ１０００に指定するための物理アドレスを生成する。
【００４２】
出力管理部２６０は、計算機２００からの計算機３００へのアクセス要求を、計算機間のインタフェース整合を図るためのインタフェース２７０を介して計算機３００に送る機能を有する。
【００４３】
調停部２４０は、プロセッサ２１０からのメモリ１０００に対するアクセスと計算機３００からのメモリ１０００に対するアクセスとの競合を調停する機能を有する。また、調停部２４１は、計算機３００からのインタフェース２７０を介するアクセス要求の入力と計算機３００へのインタフェース２７０を介するアクセス要求の出力との競合を調停する機能を有する。
【００４４】
メモリ制御部２８０は、アクセス要求に従ってメモリ１０００へのデータの書き込み又はメモリ１０００からのデータの読み出しを行うために、書き込みか読み出しかの区別や物理アドレスに応じた制御信号（コマンド等）を出力することで、メモリ１０００を制御する機能を有する。
【００４５】
また、計算機３００は、プロセッサ３１０、アクセス管理部３２０、調停部３４０、調停部３４１、入力管理部３５０、出力管理部３６０、インタフェース３７０、メモリ制御部３８０及びアクセス置換部３９０を備え、これらの構成要素は、上述した計算機２００における対応する各部と同様の機能を有する。
【００４６】
＜アドレスマッピング＞
図３は、メモリ１０００用の第１の配置様式によるＨＤフレーム画像のＸＹ２次元アドレス空間への対応付けと、ＸＹ２次元アドレス空間とＳＤＲＡＭのアドレス指定との対応付けとを表した図である。
【００４７】
ＸＹ２次元アドレス空間は、同一ＳＤＲＡＭにおける同一バンク同一ロウアドレスで指定されるブロック（メモリセル群）に対応付けた描画ブロックを２次元に配置したものである。図３では、描画ブロックの境界を破線で示しており、また、１つのフレーム画像が割りつけられた範囲だけを示している。ここでは、水平１９２０画素×垂直１０８０画素からなるＨＤフレーム画像の左上がＸＹ２次元アドレス空間のＸアドレスが０でＹアドレスが０の位置に対応付けられたものとしている。このとき、フレーム画像は、Ｘ方向に１５個の描画ブロック、Ｙ方向に３４個の描画ブロックに割り付けられている。
【００４８】
図３に破線で示した描画ブロックのうち左上のものを例にして、描画ブロック内と画素との関係を図４に示す。
【００４９】
図４に示すように描画ブロックは、Ｘアドレスの幅が１６（つまり１２８バイト分）、Ｙアドレスの幅が３２であり、同一ロウアドレスでアクセスできる範囲つまり５１２カラムアドレスでアクセスできるものである。１カラムアドレスあたり８バイト記憶されるため、１画素１バイトというデータ構成においては、１カラムが８画素分のデータに対応する。この１つの描画ブロックに、水平１２８画素分、垂直３２画素分のデータを配置することができる。
【００５０】
図５は、メモリ２０００用の第２の配置様式によるＨＤフレーム画像のＸＹ２次元アドレス空間への対応付けと、ＸＹ２次元アドレス空間とＳＤＲＡＭのアドレス指定との対応付けとを表した図である。この図５でも、描画ブロックの境界を破線で示しており、また、１つのフレーム画像が割りつけられた範囲だけを示している。ここでは、Ｙ方向に１６ラインのオフセットを付けて、水平１９２０画素×垂直１０８０画素からなるＨＤフレーム画像の左上がＸＹ２次元アドレス空間のＸアドレスが０でＹアドレスが１６の位置に対応付けられたものとしている。
【００５１】
図３及び図５から明らかなように、第１の配置様式によりフレーム画像が割り付けられたＸＹ２次元アドレス空間におけるアドレス範囲は、第２の配置様式によりフレーム画像が割り付けられたアドレス範囲とＹ方向に１６つまり描画ブロックの半分だけずれている。
【００５２】
フレーム画像中のある画素のデータについて、第１の配置様式で定まるＸアドレスをＸ１、ＹアドレスをＹ１とし、第２の配置様式で定まるＸアドレスをＸ２、ＹアドレスをＹ２とした場合、それぞれの関係は以下の式で表される。
（数式１）Ｘ２＝Ｘ１
（数式２）Ｙ２＝Ｙ１＋１６
なお、画素データの２次元座標を（ｘ０，ｙ０）とすると、第１の配置様式で定まるＸアドレスの値Ｘ１、Ｙアドレスの値Ｙ１は、以下の式で表される。
（数式３）Ｘ１＝ｉｎｔ（ｘ０／８）
（数式４）Ｙ１＝ｙ０
ここで、数式中のｉｎｔは小数部を切り捨てて整数化することを示す。
【００５３】
なお、図３及び図５には、動き探索処理の対象としてあるときに連続的にアクセスすることとなる矩形画像の例である矩形０、矩形１に対して第１の配置様式と第２の配置様式とでは異なるアドレスが対応付けられていることが表れている。
【００５４】
また、図３及び図５では、ＸＹ２次元アドレス空間における各描画ブロックがアクセス置換部によってメモリのどのブロックと対応付けられるかも表している。図３及び図５における「メモリ０」、「メモリ１」は、メモリ１０００及びメモリ２０００の各々を構成するＳＤＲＡＭチップ群の個体を区別したものである。
【００５５】
＜動作＞
以下、上述の構成を備えるデータ共有装置１００の動作について説明する。
【００５６】
図６は、計算機２００のプロセッサ２１０による画像データのアクセスに係る動作を示すフローチャートである。
【００５７】
同図に示すように、計算機２００のプロセッサ２１０からのアクセス要求を受けてアクセス属性判定部２３１は、アクセス要求の属性に基づいて書き込み要求であるか読み出し要求であるかを判定する（ステップＳ１、Ｓ２）。
【００５８】
アクセス要求が書き込み要求であった場合は、アクセス要求に係るアクセス対象となる画像データの左上の画像アドレス（ｘ座標、ｙ座標）及びサイズ（ｘ方向の幅及びｙ方向の幅）に基づきアドレス特定部２２３により、第１の配置様式及び第２の配置様式により画像データのＸＹ２次元アドレス空間における各アドレス範囲を特定し、その結果に基づいてアクセス分割部２３２により、第１の配置様式で定められたアドレス範囲を伴わせたメモリ１０００宛てのアクセス要求と、第２の配置様式で定められたアドレス範囲を伴わせたメモリ２０００（計算機３００）宛てのアクセス要求とを生成してアクセス制御部２２１に伝達する（ステップＳ３）。アクセス制御部２２１は、メモリ１０００に対するアクセス要求を、アクセス置換部２２２に送り、アクセス置換部２２２は、アクセス要求に係るＸＹ２次元アドレス空間のアドレス範囲に基づいてメモリ１０００にアクセスするための物理アドレスに変換し、調停部２４０及びメモリ制御部２８０を介してメモリ１０００へのデータ書き込みの制御を行う（ステップＳ４）。
【００５９】
また、アクセス制御部２２１は、メモリ２０００に対するアクセス要求を、出力管理部２６０に送り、出力管理部２６０は、調停部２４１、インタフェース２７０を経由させて、計算機３００にアクセス要求（書き込み要求）を送る（ステップＳ５）。
【００６０】
ここで、ステップＳ５により計算機２００からアクセス要求を受け取った計算機３００の動作を図７に即して説明する。
【００６１】
インタフェース３７０、調停部３４１を経由して送られてきたアクセス要求を受け取った計算機３００の入力管理部３５０は（ステップＳ２１）、アクセス要求に付随する、第２の配置様式に基づいて定められたＸＹ２次元アドレス空間におけるアドレス範囲をアクセス置換部３９０に送り、アクセス置換部３９０はＸＹ２次元アドレス空間におけるアドレスをメモリ２０００にアクセスするための物理アドレスに変換し、調停部３４０及びメモリ制御部３８０を介して、書き込み要求か読み出し要求かの属性に応じて、メモリ２０００へのデータ書き込み又はメモリ２０００からのデータ読み出しの制御を行う（ステップＳ２２）。
【００６２】
また、図６のステップＳ２において、アクセス属性判定部２３１により、アクセス要求が読み出し要求であると判定された場合には、選定部２３３がアクセス対象のデータをメモリ１０００及びメモリ２０００のいずれから読み出すとアクセス効率がよいかを判断してアクセス効率がよい方を選定する選定処理を行う（ステップＳ６）。この選定処理については後に詳細に説明する。
【００６３】
ステップＳ６においてアクセス効率がよいのは自機（計算機２００）に接続されたメモリ１０００の方、つまり第１の配置様式で配置された方であると選定された場合には（ステップＳ７）、アクセス解析部２３０は、第１の配置様式で定められたアドレス範囲を伴わせたメモリ１０００宛てのアクセス要求をアクセス制御部２２１に伝達する。アクセス制御部２２１は、メモリ１０００に対するアクセス要求を、アクセス置換部２２２に送り、アクセス置換部２２２は、アクセス要求に係るＸＹ２次元アドレス空間のアドレス範囲に基づいてメモリ１０００にアクセスするための物理アドレスに変換し、調停部２４０及びメモリ制御部２８０を介してメモリ１０００からのデータ読み出しの制御を行う（ステップＳ８）。また、ステップＳ６において、アクセス効率がよいのは他機（計算機３００）に接続されたメモリ２０００の方、つまり第２の配置様式で配置された方であると選定された場合には（ステップＳ７）、アクセス解析部２３０は、第２の配置様式で定められたアドレス範囲を伴わせたメモリ２０００（計算機３００）宛てのアクセス要求をアクセス制御部２２１に伝達し、アクセス制御部２２１は、メモリ２０００に対するアクセス要求を、出力管理部２６０に送り、出力管理部２６０は、調停部２４１、インタフェース２７０を経由させて、計算機３００にアクセス要求（読み出し要求）を送る（ステップＳ９）。
【００６４】
以下、選定処理の詳細について、図８に即して説明する。
【００６５】
選定部２３３は、アクセス要求に付随するアクセス対象となる画像データ（以下、「部分画像」という。）の左上の画像アドレス（ｘ座標、ｙ座標）及びサイズを得て（ステップＳ３１）、左上の画像アドレスとサイズとに基づいて右下の画像アドレスを算定した上で（ステップＳ３２）、部分画像についての第１の配置様式によるＸＹ２次元アドレス空間のＸアドレス及びＹアドレスの範囲を算定し、そのアドレスの範囲が跨る描画ブロックの数を算定する（ステップＳ３３）。
【００６６】
メモリ１０００に対応する第１の配置様式による部分画像の左上のＸＹ２次元アドレス空間におけるＸアドレスをＸａと置き、左上のＹアドレスをＹａと置き、右下のＸアドレスをＸｂと置き、右下のＹアドレスをＹｂと置くと、部分画像の左上の属する描画ブロック（ＢＸａ，ＢＹａ）、右下の属する描画ブロック（ＢＸｂ，ＢＹｂ）、及び、部分画像が跨る描画ブロックの数Ｂｎは以下の数式５〜９により特定することができる。
（数式５）ＢＸａ＝ｉｎｔ（Ｘａ／１６）
（数式６）ＢＹａ＝ｉｎｔ（Ｙａ／３２）
（数式７）ＢＸｂ＝ｉｎｔ（Ｘｂ／１６）
（数式８）ＢＹｂ＝ｉｎｔ（Ｙｂ／３２）
（数式９）Ｂｎ＝（ＢＸｂ−ＢＸａ＋１）×（ＢＹｂ−ＢＹａ＋１）
次に、その部分画像についての第２の配置様式によるＸＹ２次元アドレス空間のＸアドレス及びＹアドレスの範囲を算定し、そのアドレス範囲が跨る描画ブロックの数を算定する（ステップＳ３４）。この算定されるＸアドレス及びＹアドレスの範囲はＹ方向の１６のオフセットによって、第１の配置様式によるものとは異なる。但し、この算定された第２の配置様式による部分画像の左上のＸＹ２次元アドレス空間におけるＸアドレスをＸａと置き、左上のＹアドレスをＹａと置き、右下のＸアドレスをＸｂと置き、右下のＹアドレスをＹｂと置くと、部分画像の左上の属する描画ブロック（ＢＸａ，ＢＹａ）、右下の属する描画ブロック（ＢＸｂ，ＢＹｂ）、及び、部分画像が跨る描画ブロックの数Ｂｎは、同じ数式５〜９により特定することができる。
【００６７】
選定部２３３は、ステップＳ３３及びステップＳ３４でそれぞれ算定した描画ブロックの数を比較して、第１の配置様式に係る描画ブロックの数の方が多かった場合は（ステップＳ３５：ＹＥＳ）、第２の配置様式に対応するメモリ２０００をアクセス効率のよいメモリとして選定し（ステップＳ３７）、第１の配置様式に係る描画ブロックの数の方が多くなかった場合は（ステップＳ３５：ＮＯ）、第１の配置様式に対応するメモリ１０００をアクセス効率のよいメモリとして選定する（ステップＳ３６）。
【００６８】
＜メモリアクセス動作の考察＞
データ共有装置１００においては、図３及び図５に示すようにフレーム画像が記録されている場合において、計算機２００或いは計算機３００が、矩形０や矩形１を読み出そうとするときには、矩形の跨る描画ブロックの数が小さい方である図５の第２の配置様式で配置されたメモリ２０００の方から読み出す。
【００６９】
図９は、メモリ２０００に対応する第２の配置様式により定まるＸＹ２次元アドレス空間に、図５に示すように矩形０及び矩形１が配置されていた場合において、矩形０と矩形１とを連続して読み出そうとするときの、計算機３００のメモリ制御部３８０によるメモリ２０００に対する制御信号及びメモリ２０００から出力されるデータ信号を示すタイムチャートである。
【００７０】
計算機３００のメモリ制御部３８０は、矩形０が含む２つのブロック（メモリセル群）、即ちメモリ０のバンク３のロウアドレス１のブロックと、メモリ１のバンク０のロウアドレス１のブロックとに対して、アクティベートコマンドを発行する。次に、その２つのブロックに対してリードコマンドを発行し、画像データの読み出しを行う。なお、図９では、１カラムあたり４バイトの構成として、２バンク一組で同じブロックとして２面にアクセスして、２倍のデータを読み出す例を示している。その後、続けて、矩形０の含む２つのブロックに対してプリチャージコマンドを発行し、また、矩形１が含む２つのブロック、即ちメモリ０のバンク２のロウアドレス２のブロックと、メモリ１のバンク３のロウアドレス２のブロックとに対して、アクティベートコマンド及びリードコマンドを発行する。このように矩形０と矩形１とへの連続的なアクセスが実現される。
【００７１】
ここで、上述の例と対比するために、仮に、第１の配置様式により定まるＸＹ２次元アドレス空間に図３に示すように配置された矩形０及び矩形１を連続して読み出そうとしたとき、つまりメモリ１０００の方から矩形０及び矩形１を連続して読み出そうとしたときを想定する。図１０は、そのときにメモリ１０００に対して出されるはずの制御信号及びメモリ１０００から出力されるはずのデータ信号を示すタイムチャートである。
【００７２】
計算機２００におけるメモリ制御部２８０は、矩形０が含む４つのブロック（メモリセル群）、即ちメモリ０のバンク２のロウアドレス０のブロックと、メモリ１のバンク１のロウアドレス０のブロックと、メモリ０のバンク３のロウアドレス１のブロックと、メモリ１のバンク０のロウアドレス１のブロックとに対して、アクティベートコマンドを発行する。次に、その４つのブロックに対してリードコマンドを発行し、画像データの読み出しを行う。その後、矩形０の含む４つのブロックに対してプリチャージコマンドを発行し、また、矩形１が含む４つのブロック、即ちメモリ０のバンク１のロウアドレス１のブロックと、メモリ１のバンク０のロウアドレス１のブロックと、メモリ０のバンク２のロウアドレス２のブロックと、メモリ１のバンク３のロウアドレス２のブロックに対して、アクティベートコマンドを発行したいが、このとき、矩形０は、メモリ０、バンク２、ロウ０のブロックを含んでおり、矩形１はメモリ０、バンク２、ロウ２のブロックを含んでいるため、同一バンク異なるロウアドレスの描画ブロックへのアクセスとなり、ＳＤＲＡＭの特性（インターバル制約）により一定期間待たなければコマンドを発行できない。そのため、一定期間経過後に、矩形０に係る各ブロックに対してプリチャージコマンド、矩形１に含まれる各ブロックに対してアクティベートコマンド及びリードコマンドを発行することになり、一定期間の間は、他のプロセッサからのアクセス要求であっても、メモリ０、バンク２のどのブロックにもアクセスできず、アクセス効率の悪い状態になる。
【００７３】
データ共有装置１００においては、仮定した図１０に示す制御信号ではなく、図９に示すように制御信号を発行しているため、無駄なメモリ帯域が生じることが抑制され、アクセス効率を向上させることができる。
【００７４】
＜補足＞
以上、本発明に係るデータ処理装置の一例としてデータ共有装置の実施形態を説明したが、例示した装置を以下のように変形することも可能であり、本発明に係るデータ処理装置が上述の実施形態で示した通りのデータ共有装置に限られないことは勿論である。
【００７５】
（１）上記実施形態では、データ共有装置が、計算機２台で構成され、画像データを共有している例を示したが、計算機の数は３台以上であってもよく、画像データ以外に文字その他のデータを共有してもよい。また、例えば、それぞれが専用メモリを有しバスで接続された３台の計算機Ａ、Ｂ、Ｃのうち計算機Ａと計算機ＢとはデータＤを共有し、計算機Ａと計算機ＣとはデータＥを共有するような構成であってもよく、この場合、各計算機は他の計算機と共有しているデータを更新する場合にそのデータの識別子及び更新データをバスを通じて他の計算機に伝え、また、バスを通じて伝えられたデータの識別子が自計算機の共有するものであればその更新データを自計算機の専用メモリに取り込むようにしてもよい。なお、３台の計算機で構成されるデータ共有装置の例を図１１に示す。図１１中、アクセス管理部４００は、上述したアクセス管理部２２０と同様の機能を有し、また調停部４１０は、アクセス管理部２２０とアクセス管理部４００とから出力されるアクセス要求の競合を調停するものである。アクセス管理部４００を有することで、計算機は、他の計算機から例えば画像アドレスの指定を受けて、メモリ中の画像データへのアクセスを実現することができる。更に、各計算機は、画像処理等の特定処理を専門に行うデコーダー等の処理エンジン回路を備え、アクセス管理部が、メモリの他にアクセス要求の送出先として処理エンジン回路を選択することとしてもよい。
【００７６】
なお、各計算機は、自計算機の専用メモリにおけるデータの配置についての１つの配置様式のみに係るアリゴリズムや処理機構のみを実装し、他計算機からデータの指定或いはその論理アドレスや画像座標等の指定を受信して、その指定に基づいて自計算機における配置様式でメモリに配置した場合にアクセスすべきメモリのブロック数を返信することとし、また、他計算機から返信されたブロック数と自計算機における配置様式でのブロック数との比較からどちらの計算機の専用メモリにアクセスすると効率がよいかを判断することとしてもよい。なお、このためには、各計算機が定める配置様式は計算機毎に、メモリのブロック境界からのずれ量の点で異なる必要がある。
【００７７】
（２）上記実施形態では、データ処理装置の一例として、プロセッサを含み１つのメモリと接続される計算機２台で構成されるデータ共有装置を示したが、プロセッサ及びメモリの数は、これ以外でもよい。データ処理装置は、少なくとも１つのプロセッサと複数のメモリ領域とがあればよく、同一データを配置する場合にメモリのブロック（同一バンク同一ロウアドレスに対応するメモリセル群）の境界との相対位置関係を配置様式間で相互に異ならせるような複数の配置様式でデータを配置する複数のメモリ領域を定めてもよい。例えば、１つのプロセッサが、フレーム画像等のデータを、あるメモリ領域に配置し、それと同一のフレーム画像等の同一のデータを、メモリのブロック境界との位置関係を変えて別のメモリ領域に配置し、読み出すべき一部のデータについてブロック境界を跨ぐ数の少ない方のメモリ領域から読み出すようにしてもよい。
【００７８】
（３）上記実施形態で示したメモリ数、バンク数、カラム数、ライン数等の値は、例示であり、他の値であってもよい。また、上記実施形態では描画ブロックのサイズは水平１６カラム（１２８バイト）×垂直３２ラインとしたが、メモリのカラムアドレスの数、データ信号線の数等に応じて変更してよい。また、上記実施形態では、１画素データが１バイトであることとしたが、これに限られない。この１画素データは、輝度（Ｙ）成分、或いは色差（Ｃｂ、Ｃｒ）成分それぞれであってもよい。
【００７９】
（４）上記実施形態では、２つの互いに異なる配置様式として、２次元アドレス空間に一方はオフセットを付加せずデータを配置し、他方はＹ方向にオフセットを１６付加してデータを配置したが、これに限らない。あるフレーム画像データの各部分への連続アクセスを効率的にする必要がある場合においては、そのフレーム画像データのうちの１つの部分的な画像データにアクセスするために２つの互いに異なる配置様式のうち一方で配置されたメモリ領域にアクセスすることが、より効率的であるときに、その２つの互いに異なる配置様式のうち他方で配置されたメモリ領域にアクセスすることがより効率的となるところの１以上の部分的な画像データも存在し得るように、これらの配置様式は定められる必要がある。なお、連続してアクセスする部分的な画像データのＹ方向の幅が定まっている場合にはその幅より大きいＹ方向オフセットであることが好ましい。Ｘ方向についても同様である。
【００８０】
また、アクセス対象のデータのアドレス範囲が含むブロック数が互いに異なるように複数の配置様式を定めればよく、例えば、２次元アドレス空間において配置様式毎のオフセットの差が水平方向（Ｘ方向）にのみ現れるようにしてもよいし（図１１（ａ）及び（ｂ）参照）、垂直方向（Ｙ方向）及び水平方向（Ｘ方向）の両方に現れるようにしてもよい（図１１（ｃ）及び（ｄ）参照）。
【００８１】
また、配置様式毎に、描画ブロックの水平方向及び垂直方向の幅を異ならせることとしてもよい（図１１（ｅ）及び（ｆ）参照）。例えば、２つの配置様式における一方の配置様式において図４で示した水平１６カラム（１２８バイト）×垂直３２ラインの描画ブロックを用いて、他方では水平８カラム（６４バイト）×垂直６４ラインの描画ブロックを用いることとしてもよい。
【００８２】
（５）上記実施形態では、ＭＰＥＧエンコーディング処理の一過程におけるメモリアクセスについて説明したが、メモリアクセスのための処理内容はこれに限定されることはなく、エンコードであってもデコードであっても、Ｈ．２６４／ＭＰＥＧ ＡＶＣの処理であってもその他のデータ暗号化、復号等の処理であってもよい。
【００８３】
（６）上記実施形態では、フレーム画像をマッピングするアドレスは２次元アドレス空間としたが、一次元の一般的なアドレス空間としてもよい。但し、２次元画像の配置に２次元アドレス空間を用いることは有用である。なお、文字列その他のデータ、或いは画像データの配置に、一次元のアドレスで定まるアドレス空間を用いることとした場合においては、ＳＤＲＡＭの同一バンクの同一ロウアドレスでアクセスできるメモリセル群に格納できるデータ量を単位としたその単位毎の境界アドレスからのオフセット（相対位置）が、第１の配置様式と第２の配置様式とで異なるようにすればよい。例えば、その単位が４キロバイトであり、第１の配置様式と第２の配置様式とが同じ論理アドレス空間の異なるアドレス範囲のメモリ領域へのデータの配置（論理アドレス）を定めるものとすれば、同じデータが配置される２つの領域の先頭アドレスの差が４０００Ｈの倍数以外であればよい。
【００８４】
なお、上記実施形態で示したメモリ１０００及びメモリ２０００に１つの論理アドレス空間における異なるアドレス範囲を対応付けることとしてもよい。
【００８５】
（７）上記実施形態で図５により示した第２の配置様式によるアドレスマッピングにおいて、フレーム画像中で垂直方向最下段の描画ブロック（０，３４）〜（１４，３４）に割り付けられた部分は、垂直方向最上段の描画ブロック（０，０）〜（１４，０）における空き領域に割り付けることとしてもよい。
【００８６】
（８）上記実施形態では、画像アドレス（画像座標）から、メモリのブロックと対応付けて定められたところの２次元アドレス空間のアドレスを定める段階で相互に異なる２つの配置様式を用いることとしたが、例えば、データの論理アドレスから、直接メモリのバンク、ロウアドレス、カラムアドレス等のアドレス指定を定める段階において、論理アドレスとロウアドレスとの関係が配置様式の相互で異なるように２つの配置様式を定めることとしてもよい。
【００８７】
（９）１つのプロセッサが、計算機２００の機能の全部又は一部を制御プログラムの実行により実現してもよい。この制御プログラムは、機械語或いは高級言語のプログラムコードからなり、記録媒体に記録され、又は各種通信路等を介して流通させ頒布されるものであってもよい。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより上記実施形態で示したような機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
【００８８】
（１０）上記実施形態で示したデータ共有装置１００、その一部の計算機を、ＩＣ、ＬＳＩその他の集積回路のパッケージとして構成してもよい。また、メモリもこの集積回路のパッケージに含ませてもよい。このパッケージは各種装置に組み込まれて利用に供され、これにより各種装置は、上記実施形態で示したような各機能を実現するようになる。
【００８９】
（１１）上述の各変形例を組み合せて適用してもよい。
【００９０】
以下、更に本発明の一実施形態としてのデータ処理装置の構成及びその変形例、並びにデータ処理システムと、これらの効果とについて説明する。
【００９１】
（ａ）本発明の一実施形態に係るデータ処理装置は、図１３に示すように、複数の連続アクセス可能なブロックにより構成されるメモリに格納された処理対象データにアクセスするデータ処理装置であって、前記処理対象データを、メモリの複数の領域それぞれに配置するためのアドレスを、第１及び第２の配置様式を用いて定めるマッピング手段と、処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段と、前記部分データへのアクセスを、前記第１及び第２の配置様式により前記マッピング手段によりそれぞれ定められるべき各アドレスに対応した別々のメモリ領域それぞれに同一内容のものとして処理対象データが記録されている前記メモリにおける、前記選定手段の選定した配置様式により対応付けられたメモリの領域に、アクセスすることで実現するよう制御するアクセス制御手段とを備え、前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものであることを特徴とする。ここで、連続アクセス可能なブロックは、例えばＳＤＲＡＭにおいてコマンド発行制約によって一定時間待たされることなく連続的にアクセスできる、同一バンクの同一ロウアドレスを有するメモリセル群のような、メモリにおいてバースト転送機能等によって連続的にアクセスし得る単位領域である。アクセス効率については、例えば、各配置様式でアドレスマッピングされた結果として、連続してアクセスできる何個のメモリ領域に跨って配置されたかというメモリ領域数の少ない方が、アクセス効率のよい配置様式になる。また、マッピング手段１１は例えば上述のアドレス特定部２２３等に相当し、選定手段１２は例えば上述の選定部２３３等に相当し、アクセス制御手段１３は例えば上述のアクセス制御部２２１、アクセス置換部２２２、メモリ制御部２８０等に相当する。なお、このデータ処理装置をＬＳＩその他の集積回路として構成してもよい。
【００９２】
このデータ処理装置によれば、同一のアドレスマッピングで重複的に記録されているのではなく、複数の異なるアドレスマッピングに基づき重複的に記録されている画像或いは文字その他のデータを逐次読出し処理する過程で、アクセス効率のよい１つのアドレスマッピングの方で配置されたデータの方を選択してアクセスするので、全体としても効率のよいメモリアクセスを実現し得るようになる。
【００９３】
（ｂ）前記処理対象データはｘ座標及びｙ座標で表される２次元画像データであり、前記第１及び第２の配置様式は、前記アドレス空間をＸＹ２次元アドレス空間とし、メモリにおける前記ブロック毎に対応付けた描画ブロックを当該ＸＹ２次元アドレス空間に２次元に複数配置するものであり、前記第２の配置様式は、ＸＹ２次元アドレス空間における描画ブロック境界に対する相対位置の点で、前記第１の配置様式により２次元画像データの配置されるＸアドレス及びＹアドレスとは異なる位置となるように、２次元画像データのｘ座標及びｙ座標に応じてＸＹ２次元アドレス空間におけるＸアドレス及びＹアドレスを定めるものであるとしてもよい。これにより、ＭＰＥＧエンコーディング処理のような、フレーム画像群について部分画像であるマクロブロック単位に類似するものを探索する所謂動き探索処理を行う場合におけるメモリアクセス効率を高めることができるようになる。
【００９４】
（ｃ）前記描画ブロックに対応するメモリにおける前記ブロックは、同一バンクで同一ロウアドレスを有するメモリセル群であるとしてもよい。このデータ処理装置によれば、同一バンクの異なるロウアドレスで示される領域への連続的なアクセスを低減することができる。
【００９５】
（ｄ）前記選定手段は、前記第１及び第２の配置様式のうち、前記部分データに係るアドレス範囲に含まれる描画ブロックの数が最も少ないようにアドレスを定める１つの配置様式を選定するとしてもよい。これにより、簡単な構成でアクセス効率を判断することができる。
【００９６】
（ｅ）前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってｙ座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、前記第２の配置様式は、前記第１の配置様式により同じ部分画像に係る同じ部分データについて定めたＹアドレスとの差が、前記ｙ座標の幅に対応するＹアドレスの幅より大きくなるようにＹアドレスを定めるものであることとしてもよい。これにより、部分画像の逐次読出し処理に際して、いずれかの配置様式を選択すれば部分画像がアドレス空間における描画ブロックのＹ方向のアドレス境界を跨がないでアドレスマッピングされることになるため、その選択した配置様式によってアクセスすることで、アクセス効率を高めることができるようになる。
【００９７】
（ｆ）前記データ処理装置は、フレーム画像における複数の位置それぞれの部分画像であってｘ座標の幅が所定サイズである部分画像を、逐次読み出す処理を行うものであり、前記第２の配置様式は、前記第１の配置様式により同じ部分画像に係る同じ部分データについて定めたＸアドレスとの差が、前記ｘ座標の幅に対応するＸアドレスの幅より大きくなるようにＸアドレスを定めるものであることとしてもよい。これにより、部分画像の逐次読出し処理に際して、いずれかの配置様式を選択すれば部分画像がアドレス空間における描画ブロックのＸ方向のアドレス境界を跨がないでアドレスマッピングされることになるため、その選択した配置様式によってアクセスすることで、アクセス効率を高めることができるようになる。
【００９８】
（ｇ）前記第１及び第２の配置様式は、メモリにおける同一バンクで同一ロウアドレスを有する全てのメモリセル群に１対１に前記描画ブロックを対応付けており、第２の配置様式は、ＸＹ２次元アドレス空間における描画ブロックのＸ方向の幅及びＹ方向の幅のいずれもが、第１の配置様式とは異なるように対応付けていることとしてもよい。メモリにおける連続アクセス可能なブロックに対応付けたアドレス空間における矩形の描画ブロックの形状が異なるため、メモリのそのブロックに対する２次元画像のメモリ配置がそれぞれの配置様式で異なるものとなり、アクセス効率がよい一方を選択できるため、全体として効率のよいメモリアクセスを実現できるようになる。
【００９９】
（ｈ）データ処理装置は、前記メモリと、前記処理対象データを、前記第１及び第２の配置様式により前記マッピング手段により定められた各アドレスに対応した、前記メモリ中の、別々のメモリ領域に書き込む記録手段とを、更に備えることとしてもよい。この構成により、データ処理装置内でデータの読み書きの両方が実現されるようになる。
【０１００】
（ｉ）前記処理対象データは、フレーム画像であり、前記データ処理装置は、前記フレーム画像中の複数の位置それぞれに存在する複数の部分データを逐次読み出す処理を行うものであり、前記フレーム画像における、読み出し対象となる部分データの位置に応じて、前記第１及び第２の配置様式のうち、前記第１の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データと、前記第２の配置様式を用いて前記マッピング手段により定められるアドレスに対応したメモリ領域から読み出す方がアクセス効率のよい部分データとが存在することになるように、前記第１及び第２の配置様式が定められていることとしてもよい。これにより、例えば、所謂動き探索処理等によりフレーム画像中の様々な位置の部分画像（部分データ）に逐次アクセスする必要がある場合において、アクセス効率の良い方のメモリ領域にアクセスすることができる。なお、この結果として、同一内容のフレーム画像が記録された２つのメモリ領域のうち一方だけにしかアクセスがなされないのではなく、その２つのメモリ領域に対して逐次選択的にアクセスがなされることとなる。
【０１０１】
（ｊ）本発明の一実施形態に係るデータ共有システムは、図１４に示すように、第１メモリ及び第２メモリと、各メモリに格納された処理対象データにアクセスする第１のデータ処理装置３１及び第２のデータ処理装置４１とを含むデータ共有システム３０であって、前記各データ処理装置は、前記処理対象データを、前記第１メモリ３５に配置するためのアドレスを前記第１の配置様式を用いて定め、前記第２メモリ４５に配置するためのアドレスを前記第２の配置様式を用いて定めるマッピング手段３２（４２）と、処理対象データ中の部分データを読み出すときに、各配置様式に基づく当該部分データに係るアドレス範囲に基づき、当該部分データへのアクセス効率のよい方の配置様式を選定する選定手段３３（４３）と、前記部分データへのアクセスを、前記選定手段の選定した配置様式により対応付けられたメモリの領域にアクセスすることで実現するよう制御するアクセス制御手段３４（４４）とを備え、前記第２の配置様式は、アドレス空間における前記ブロックの境界アドレスに対する相対位置の点で、前記第１の配置様式により当該処理対象データの配置されるアドレスとは異なる位置に、当該処理対象データのアドレスを定めるものであり、前記アクセス制御手段は、自己以外の他のデータ処理装置に接続されたメモリにアクセスするときは当該他のデータ処理装置を介してそのアクセスを実現するよう制御することを特徴とする。プロセッサ毎にメモリが接続されたマルチプロセッサで構成されたデータ共有システムにおいて、効率のよいメモリアクセスが実現できるようになる。
【産業上の利用可能性】
【０１０２】
本発明に係るデータ処理装置は、効率のよいメモリアクセスを実現し得るので、ＳＤＲＡＭを用いて動画、静止画等のデータを処理する装置等として有用である。
【符号の説明】
【０１０３】
１０、３１、４１  データ処理装置
１１、３２、４２  マッピング手段
１２、３３、４３  選定手段
１３、３４、４４  アクセス制御手段
２０、１０００、２０００  メモリ
３０  データ共有システム
３５  第１メモリ
４５  第２メモリ
１００  データ共有装置
２００、３００  計算機
２１０、３１０  プロセッサ
２２０、３２０、４００  アクセス管理部
２２１  アクセス制御部
２２２  アクセス置換部
２２３  アドレス特定部
２３０  アクセス解析部
２３１  アクセス属性判定部
２３２  アクセス分割部
２３３  選定部
２４０、２４１、３４０、３４１、４１０  調停部
２５０、３５０  入力管理部
２６０、３６０  出力管理部
２７０、３７０  インタフェース
２８０、３８０  メモリ制御部
２９０、３９０  アクセス置換部
【図１】
2012124251.tif 000003
【図２】
2012124251.tif 000004
【図３】
2012124251.tif 000005
【図４】
2012124251.tif 000006
【図５】
2012124251.tif 000007
【図６】
2012124251.tif 000008
【図７】
2012124251.tif 000009
【図８】
2012124251.tif 000010
【図９】
2012124251.tif 000011
【図１０】
2012124251.tif 000012
【図１１】
2012124251.tif 000013
【図１２】
2012124251.tif 000014
【図１３】
2012124251.tif 000015
【図１４】
2012124251.tif 000016
【国際調査報告】
2012124251.tif 000017
2012124251.tif 000018
2012124251.tif 000019
2012124251.tif 000020
2012124251.tif 000021
2012124251.tif 000022