JP2007094754A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2007094754A JP2007094754A JP2005283270A JP2005283270A JP2007094754A JP 2007094754 A JP2007094754 A JP 2007094754A JP 2005283270 A JP2005283270 A JP 2005283270A JP 2005283270 A JP2005283270 A JP 2005283270A JP 2007094754 A JP2007094754 A JP 2007094754A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- read
- addresses
- control 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.)
- Pending
Links
Images
Abstract
【課題】 マルチポートメモリを使用することによって読出し、または書込みされるデータの自由度を高め、並び替え後の画像データの配列によらず、1回の処理サイクルで任意のアドレスの組合せでデータを読出す、あるいは書込むことが可能なデータ処理装置を提供する。
【解決手段】 マルチポートメモリ105されている複数のデータに対し、1回のサイクルでアクセスすることが可能なデータ処理装置において、取得された第1アドレスと演算される第2アドレスを複数取得する書込レジスタ303、読出レジスタ305、複数の第2アドレスの各々と第1アドレスとを演算し、複数の第3アドレスを生成する加算器301を設ける。また、マルチポートメモリ105の第3アドレスの各々に同時にアクセスする書込アドレス制御部101及び読出アドレス制御部103を設ける。
【選択図】 図3
【解決手段】 マルチポートメモリ105されている複数のデータに対し、1回のサイクルでアクセスすることが可能なデータ処理装置において、取得された第1アドレスと演算される第2アドレスを複数取得する書込レジスタ303、読出レジスタ305、複数の第2アドレスの各々と第1アドレスとを演算し、複数の第3アドレスを生成する加算器301を設ける。また、マルチポートメモリ105の第3アドレスの各々に同時にアクセスする書込アドレス制御部101及び読出アドレス制御部103を設ける。
【選択図】 図3
Description
本発明は、データ処理装置に係り、特にマルチポートメモリのように1サイクルで複数アドレスにアクセス可能なメモリに記憶されているデータを処理するデータ処理装置に関する。
データを処理するデータ処理装置には、画像生成に使用される画像データを処理する画像処理装置がある。画像処理装置で行われる画像処理にJPEGやMPEGといった圧縮の画像データ圧縮の技術がある。このような技術にあっては、処理効率を高めるために複数の画像データを一度に読出し、あるいは書込むことが行われている。
また、画像処理を実行するプロセッサにSIMD(Single Instruction Multiple Data stream)演算等の命令で動作するマルチメディアを追加した場合、メモリから読出された画像データを画像処理のために並べ替えることがある。従来の技術では、並び替え後の画像データの配置に合わせて読出しアドレスや書込みアドレスを設定することによって画像データの並べ替えの処理効率を高めていた。
また、画像処理を実行するプロセッサにSIMD(Single Instruction Multiple Data stream)演算等の命令で動作するマルチメディアを追加した場合、メモリから読出された画像データを画像処理のために並べ替えることがある。従来の技術では、並び替え後の画像データの配置に合わせて読出しアドレスや書込みアドレスを設定することによって画像データの並べ替えの処理効率を高めていた。
このような従来技術として、例えば、特許文献1が挙げられる。特許文献1の発明は、図9のように、4つのシングルポートメモリ1に画像データを2次元に配列して保存し、このシングルポートメモリ1から4画素分の画像データ(図9の例では1ワードが4つの画像データで構成されるものとする)を読み書きしている。そして、この際に読出し、書込みのデータ並びを入れ替えることによって1ワード分のワードアライメントを解消する、あるいは縦方向に配列された4つの画像データを取得することを可能にしている。
特開2002−222117号公報
しかしながら、上記した特許文献1の発明は、並び替え後の画像データの配列に合わせて読出し、あるいは書込みのアドレスを設定するため、画像データの配列に合わせて画像データ変換の回路を作り変える必要が生じる。
さらに、特許文献1の発明は、シングルポートメモリを使用するため、1ワード分(例えば画像データ4つ分とする)の画像データの取得にあたり、各処理サイクルで4つのシングルポートメモリ1の各々にアクセスすることになる。このため、特許文献1の発明は、1サイクルで読出し、書込みされる画像データを異なるシングルポートメモリ1に割り当てなければならないという制約を受ける。
さらに、特許文献1の発明は、シングルポートメモリを使用するため、1ワード分(例えば画像データ4つ分とする)の画像データの取得にあたり、各処理サイクルで4つのシングルポートメモリ1の各々にアクセスすることになる。このため、特許文献1の発明は、1サイクルで読出し、書込みされる画像データを異なるシングルポートメモリ1に割り当てなければならないという制約を受ける。
図10(a)〜(c)は、このような制約を説明するための図である。図示するように、従来技術では、A〜Dで示した4つのシングルポートメモリ1の各々の画像データの1つにアクセスする。このため、従来技術では、各シングルポート1への画像データの配分をも考慮しなければならず、画像データへのアクセス方法がいっそう制約される。
ところで、シングルポートメモリに対し、2つ以上のポートを持って複数の画像データを一度の処理サイクルで読書できるマルチポートメモリがある。マルチポートメモリによれば、1回の処理サイクルで1ワード分の画像データを読書できるので、1ワードに含まれる4つの画像データを各々異なるメモリに保存しておくという制約がなくなって読書される画像データの自由度を高めることができる。図10の(a)はAn、Bn、Cn、Dnのメモリを横方向にアクセスすることを示す図であり、An、Bn、Cn、Dnが1回のアクセスで一度ずつ用いられている。図10(b)は、縦方向のアクセス、(c)は2x2ブロックのアクセスであり、(a)、(b)、(c)どのモードであっても、1回のアクセスでAn、Bn、Cn、Dnが一度だけ参照されることを示している。
ところで、シングルポートメモリに対し、2つ以上のポートを持って複数の画像データを一度の処理サイクルで読書できるマルチポートメモリがある。マルチポートメモリによれば、1回の処理サイクルで1ワード分の画像データを読書できるので、1ワードに含まれる4つの画像データを各々異なるメモリに保存しておくという制約がなくなって読書される画像データの自由度を高めることができる。図10の(a)はAn、Bn、Cn、Dnのメモリを横方向にアクセスすることを示す図であり、An、Bn、Cn、Dnが1回のアクセスで一度ずつ用いられている。図10(b)は、縦方向のアクセス、(c)は2x2ブロックのアクセスであり、(a)、(b)、(c)どのモードであっても、1回のアクセスでAn、Bn、Cn、Dnが一度だけ参照されることを示している。
さらに、シングルポートメモリに比較して高価であって実用に不向きであるとされていたが、近年ではマルチポートメモリをより安価に製造する技術も提案されつつある。
本発明は、以上の点に鑑みてなされたものであって、マルチポートメモリを使用することによって読出し、または書込みされるデータの自由度を高めることが可能なデータ処理装置を提供することを目的とする。また、1回の処理サイクルにあって、並び替え後の画像データの配列によらず、任意のアドレスの組合せでデータを読出す、あるいは書込むことが可能なデータ処理装置を提供することを目的とする。
本発明は、以上の点に鑑みてなされたものであって、マルチポートメモリを使用することによって読出し、または書込みされるデータの自由度を高めることが可能なデータ処理装置を提供することを目的とする。また、1回の処理サイクルにあって、並び替え後の画像データの配列によらず、任意のアドレスの組合せでデータを読出す、あるいは書込むことが可能なデータ処理装置を提供することを目的とする。
以上の課題を解決するため、本発明のデータ処理装置は、記憶装置に記憶されている複数のデータに対し、1回のサイクルでアクセスすることが可能なデータ処理装置であって、第1アドレスを取得する第1アドレス取得手段と、第1アドレスと演算される第2アドレスを複数取得する第2アドレス取得手段と、複数の第2アドレスの各々と第1アドレスとを演算し、複数の第3アドレスを生成する第3アドレス生成手段と、前記記憶装置の第3アドレスの各々に同時にアクセスするデータアクセス手段と、を備えることを特徴とする。
このような発明によれば、記憶装置の任意のアドレスの各々に同時にアクセスすることができる。したがって、マルチポートメモリを使用することによって読出し、または書込みされるデータの自由度を高めることができる。
また、データアクセス手段が、取得された第1アドレスと第2アドレスとを演算して生成された第3アドレスにアクセスできる。このため、与えられた第1アドレス、第2アドレスを変更することによってデータアクセス手段がアクセスする第3アドレスを任意に変更できる。したがって、1回の処理サイクルにあって、並び替え後の画像データの配列によらず、任意のアドレスの組合せでデータを読出す、あるいは書込むことができる。
また、データアクセス手段が、取得された第1アドレスと第2アドレスとを演算して生成された第3アドレスにアクセスできる。このため、与えられた第1アドレス、第2アドレスを変更することによってデータアクセス手段がアクセスする第3アドレスを任意に変更できる。したがって、1回の処理サイクルにあって、並び替え後の画像データの配列によらず、任意のアドレスの組合せでデータを読出す、あるいは書込むことができる。
また、本発明のデータ処理装置は、前記第2アドレス取得手段が第2アドレスが設定されるレジスタであって、前記第3アドレス生成手段が第1アドレスと第2アドレスとを演算する演算器であることを特徴とする。
このような発明によれば、第1アドレスと第2アドレスとを演算して第3アドレスを得る構成を比較的簡易に構成することができ、ひいては本発明のデータ処理装置を簡易な構成によって実現することができる。
このような発明によれば、第1アドレスと第2アドレスとを演算して第3アドレスを得る構成を比較的簡易に構成することができ、ひいては本発明のデータ処理装置を簡易な構成によって実現することができる。
また、本発明のデータ処理装置は、前記第3アドレス生成手段によって生成された第3アドレスにしたがって書込まれるデータを選択する書込データ選択手段、及び読出されるデータを選択する読出データ選択手段の少なくとも一方を備えることを特徴とする。
このような発明によれば、データアクセス手段によってアクセスされるアドレスに書込まれるデータあるいはアドレスから読出されるデータを選択することができるので、データの書込み、読出しの処理がより効率的に実行できる。
このような発明によれば、データアクセス手段によってアクセスされるアドレスに書込まれるデータあるいはアドレスから読出されるデータを選択することができるので、データの書込み、読出しの処理がより効率的に実行できる。
以下、図を参照して本発明に係るデータ処理装置の一実施の形態を説明する。なお、本実施形態では、データ処理装置を画像データを処理する画像処理装置として構成した。また、図1に示すように、本実施形態の画像処理装置は、画像データ処理用のメモリ1と、CPU2とをバスBで接続して構成されるものであってもよい(図1(a))。また、CPU2の他、画像処理に必要な制御部等を備える画像処理装置3が画像データ処理用のメモリ1にアクセスするものであってもよい(図1(b))。
また、図1に示した構成にあって、バスBを介して授受される信号とは、画像処理メモリ1に画像データを書込む、あるいは画像処理メモリ1から画像データを読出すためのアドレス(Adress)、書込み(W_data)、または読出されるデータ(R_data)、読出しを許可するリード許可信号(RdEnable)、書込みを許可するライト許可信号(WrEnable)、1バイト分のデータを選択するバイトセレクタ信号(ByteSelect)、データの読み出しおよび書込みの準備ができたことを示すデータ準備完了通知信号(Ready)を含む。
以上の信号のうち、W_dataとReady信号とが画像処理メモリ1からCPU2等へ出力される信号であって、他はCPU2等から画像処理メモリ1へ入力される信号である。
図2は、本実施形態の画像処理装置を画像処理メモリ1と共に示す図である。図2では、図1に示した画像処理メモリ1を、1回のサイクルで複数のデータにアクセスすることが可能な記憶装置であるマルチポートメモリ105として示した。マルチポートメモリ105は、4ポートを有するマルチポートメモリであって、画像処理装置は、マルチポートメモリ105にアクセスして1サイクルで4つの画像データにアクセス可能な構成である。
図2は、本実施形態の画像処理装置を画像処理メモリ1と共に示す図である。図2では、図1に示した画像処理メモリ1を、1回のサイクルで複数のデータにアクセスすることが可能な記憶装置であるマルチポートメモリ105として示した。マルチポートメモリ105は、4ポートを有するマルチポートメモリであって、画像処理装置は、マルチポートメモリ105にアクセスして1サイクルで4つの画像データにアクセス可能な構成である。
図2に示した画像処理装置は、マルチポートメモリ105へ画像データを書込むための書込アドレス制御部101、書込データ制御部107を備えている。書込アドレス制御部101は、書込まれるデータ(書込データ)が書込まれるマルチポートメモリ105のアドレス(書込アドレス)を制御する構成であって、書込アドレスと、書込モードとを入力する。なお、書込モードとは、書込アドレスの設定の仕方を示す情報であって、後に述べる。書込データ制御部107は、書込データを入力し、書込アドレス制御部101によって設定されたアドレスにデータを書込む。
また、画像処理装置は、マルチポートメモリ105から画像データを読出すための読出アドレス制御部103、読出データ制御部109を備えている。読出アドレス制御部103は、読出されるデータ(読出データ)のマルチポートメモリ105のアドレス(読出アドレス)を制御する構成であって、読出アドレスと、読出モードとを入力する。なお、読出モードとは、読出アドレスの設定の仕方を示す情報であって、後に述べる。読出データ制御部109は、読出データを入力し、読出アドレス制御部103によって設定されたアドレスからデータを読出す。
図3は、図2に示した書込アドレス制御部101、書込データ制御部107、読出アドレス制御部103、読出データ制御部109をより詳細に説明するための図である。
書込アドレス制御部101は、4つの加算器301と、書込レジスタ303とを備えている。書込レジスタ303は、4つのレジスタ部(WMreg0〜WMreg3)302でなり、4つのアドレスの値(アドレス値)を設定することができる。
書込アドレス制御部101は、4つの加算器301と、書込レジスタ303とを備えている。書込レジスタ303は、4つのレジスタ部(WMreg0〜WMreg3)302でなり、4つのアドレスの値(アドレス値)を設定することができる。
書込アドレス制御部101は、外部からアドレスa1を取得し、書込レジスタ303に設定された複数の(4つ)アドレス値a21、a22、a23、a24を取得する。そして、アドレスa1と書込レジスタ303に設定されたアドレスa21〜a24の各々とを加算器301で加算し、4つのアドレスa31、a32、a33、a34を生成する。そして、マルチポートメモリ105の4つのアドレスa31〜a34の各々に同時にアクセスしてデータを書込む。
また、読出アドレス制御部103は、同様に、4つの加算器301と、読出レジスタ305とを備えている。読出レジスタ305は、4つのレジスタ部(RMreg0〜RMreg3)304でなり、4つのアドレス値a21〜a24を設定することができる。
読出アドレス制御部103は、外部からアドレスa1を取得し、読出レジスタ305に設定された4つのアドレス値a21〜a24を取得する。そして、アドレスa1と書込レジスタ303に設定されたアドレスa21〜a24とを加算器301で加算し、4つのアドレスa31、a32、a33、a34を生成する。そして、マルチポートメモリ105の4つのアドレスa31〜a34の各々に同時にアクセスしてデータを読出す。
読出アドレス制御部103は、外部からアドレスa1を取得し、読出レジスタ305に設定された4つのアドレス値a21〜a24を取得する。そして、アドレスa1と書込レジスタ303に設定されたアドレスa21〜a24とを加算器301で加算し、4つのアドレスa31、a32、a33、a34を生成する。そして、マルチポートメモリ105の4つのアドレスa31〜a34の各々に同時にアクセスしてデータを読出す。
このような書込アドレス制御部101、読出アドレス制御部103は、本実施形態の第1アドレス取得手段及びデータアクセス手段として機能する。また、書込アドレス制御部101、読出アドレス制御部103において、読出レジスタ305、読出レジスタ305が第2アドレス取得手段として機能し、加算器301が第3アドレス生成手段として機能する。
また、書込データ制御部107は、書込データと共に書込アドレス制御部101によって生成されたアドレスa31〜a34を入力する。また、書込データ制御部107は、選択マトリックスレジスタ306と、4つのMUX(Multiplexor)307を備えている。選択マトリックスレジスタ306へ書込モードとアドレスa31〜a34を入力する。CPU1および画像処理装置3から書込モードを設定することにより、外部から選択マトリクスレジスタの設定を適宜切替えることが出来る。入力された4つのアドレスと書込モードの設定によりMUX307を制御する。MUX307は、入力された画像データのうちの設定されたアドレスに対応する画像データをマルチポートメモリ105のいずれに書込むかを指定してマルチポートメモリ105に出力する。
読出データ制御部109は、マルチポートメモリ105から読み出された読出データと共に読出アドレス制御部103によって生成されたアドレスa31〜a34を入力する。また、読出データ制御部109は、選択マトリックスレジスタ306と、4つのMUX(Multiplexor)307を備えている。選択マトリックスレジスタ306へ読出モードとアドレスa31〜a34を入力する。CPU1および画像処理装置3から読出モードを設定することにより、外部から選択マトリクスレジスタの設定を適宜切替えることが出来る。入力された4つのアドレスと読出モードの設定によりMUX307を制御する。MUX307は、読出された画像データのうちの設定されたアドレスに対応する画像データを選択し、読出データとして外部に出力する。
なお、本発明のデータ処理装置は、上記した構成に限定されるものではない。すなわち、データ処理装置は、画像処理装置として構成されるものに限定されるものでなく、1サイクルで任意のアドレスにある複数のデータにアクセスするものであればどのようなデータをも処理することができる。
また、本実施形態の構成は、4ポートのマルチポートメモリを用いる構成に限定されるものでなく、他のポート数のマルチポートメモリを使用することも可能である。
また、本実施形態の構成は、4ポートのマルチポートメモリを用いる構成に限定されるものでなく、他のポート数のマルチポートメモリを使用することも可能である。
また、本実施形態の構成は、書込アドレス制御部101、読出アドレス制御部103、あるいは書込データ制御部107、読出データ制御部109といった構成を各々複数備える構成であってもよい。このようにした場合、複数の書込アドレス制御部101、読出アドレス制御部103に各々異なる書込モードや読出モードを複数設定しておき、必要に応じてモードを切替えて使用することが可能になる。
さらに、本実施形態の構成は、書込アドレス制御部101、読出アドレス制御部103を共用にすることも可能である。このようにした場合、装置の小型、構成の簡易化が実現できる。
次に、以上述べた本実施形態の画像処理装置の動作を具体的に説明する。
図4から図7は、各図に示したアドレスにアクセスする際の書込アドレス制御部101、読出アドレス制御部103の動作を説明するための図である。書込アドレス制御部101、読出アドレス制御部103は、同様に動作してマルチポートメモリ105のアドレスにアクセスするものである。ここでは、読出アドレス制御部103の動作についてのみ説明し、書込アドレス制御部101の動作の説明に代えるものとする。
次に、以上述べた本実施形態の画像処理装置の動作を具体的に説明する。
図4から図7は、各図に示したアドレスにアクセスする際の書込アドレス制御部101、読出アドレス制御部103の動作を説明するための図である。書込アドレス制御部101、読出アドレス制御部103は、同様に動作してマルチポートメモリ105のアドレスにアクセスするものである。ここでは、読出アドレス制御部103の動作についてのみ説明し、書込アドレス制御部101の動作の説明に代えるものとする。
本実施形態では、画像処理装置が、図4から図7のいずれにおいても4ポートのマルチポートメモリ105の連続したアドレスから1サイクルで4つの画像データを読出すものとする。各図において、4つのアドレスを1単位とし、この単位をセットと記す。前記した読出し、書込モードとは、1セットを構成するアドレスの配置を示している。
また、この説明では、マルチポートメモリ105が図示するように横方向に16個、縦方向に7個の画像データを配列するものとする。図示する画像データのアドレスは、ヘキサ表示によって示されている。
また、この説明では、マルチポートメモリ105が図示するように横方向に16個、縦方向に7個の画像データを配列するものとする。図示する画像データのアドレスは、ヘキサ表示によって示されている。
図4(a)に示す例では、画像処理装置が、セット401、セット402、セット403、セット403の順に画像データを読出すものとする。いずれのセットを読み出す場合であっても、画像処理装置は、先ずアドレスa1にあたるアドレスと読出モードとを外部から取得する。なお、アドレスa1や読出しモードを読出アドレス制御部103に与える構成としては、例えば、オペレータの指示にしたがって画像処理の内容を決定する制御部や、より上位のCPU等が考えられる。
セット401の画像データを読出す場合、読出アドレス制御部103には、アドレスa1として14が与えられる。また、読出モードとして4つのアドレス値0、1、2、3が与えられる。4つのアドレス値は、4つのレジスタ部304に1つずつセットされ、アドレスa1の14と加算器301によって各々加算される。
上記した加算の結果、アドレス14、15、16、17が生成される。読出アドレス制御部103のマルチポートメモリ105は、生成された4つのアドレスにアクセスし、各アドレスに書込まれていた4バイトの画像データを読出すことができる。
上記した加算の結果、アドレス14、15、16、17が生成される。読出アドレス制御部103のマルチポートメモリ105は、生成された4つのアドレスにアクセスし、各アドレスに書込まれていた4バイトの画像データを読出すことができる。
次に、画像処理装置は、セット402を構成する4つのアドレスの画像データを読み出す。この際、読出アドレス制御部103に対し、アドレスa1として先のアドレスa1に11を加算した25が与えられる。また、読出モードとして、セット401の読出時と同様に4つのアドレス値0、1、2、3が与えられる。このようにした場合、読出アドレス制御部103では、25、26、27、28のアドレスを生成してマルチポートメモリ105にアクセスすることができる。
また、図4(b)に示したセット411を構成するアドレスにアクセスしてデータを読出す場合、アドレスa1として2が与えられる。また、読出モードとして0、10、20、30が与えられる。読出アドレス制御部103は、加算器301によってアドレス2に0、10、20、30のアドレス値を加算し、アドレス12、22、32を生成する。
このように、本実施形態の画像処理装置は、画像の処理(例えば画像の回転等)に応じて読出モードを設定し、アドレスa1を順次変更することによって任意のアドレスにアクセスすることが可能になる。このため、本実施形態の画像処理装置は、アクセスすべきアドレスに応じて専用の構成を設ける必要がない。
このように、本実施形態の画像処理装置は、画像の処理(例えば画像の回転等)に応じて読出モードを設定し、アドレスa1を順次変更することによって任意のアドレスにアクセスすることが可能になる。このため、本実施形態の画像処理装置は、アクセスすべきアドレスに応じて専用の構成を設ける必要がない。
さらに、本実施形態の画像処理装置は、図4のように連続したアドレスによって構成されるセットばかりでなく、図5(a)、(b)に示すように不連続なアドレスによって構成されるセット501、セット502からも画像データを読出すことができる。
すなわち、セット501を構成するアドレスは、アドレスa1としてアドレス0を、読出モードとしてアドレス値0、3、6、9を与えることによってアクセスすることが可能になる。また、セット502を構成するアドレスは、アドレスa1としてアドレス0を、読出モードとしてアドレス値0、11、22、33を与えることによってアクセスすることが可能になる。
すなわち、セット501を構成するアドレスは、アドレスa1としてアドレス0を、読出モードとしてアドレス値0、3、6、9を与えることによってアクセスすることが可能になる。また、セット502を構成するアドレスは、アドレスa1としてアドレス0を、読出モードとしてアドレス値0、11、22、33を与えることによってアクセスすることが可能になる。
さらに、本実施形態は、図6(a)、(b)、図7に示すように横方向及び縦方向に配列されたアドレスによって構成されるセットにもアクセスすることができる。
すなわち、図6(a)に示したセット601を構成するアドレスは、アドレスa1として2を、読出モードとしてアドレス値0、1、10、11を与えることによってアクセスすることが可能になる。また、セット602〜604は、同様の読出モードを用い、アドレスa1だけを14、26、38というように12ずつシフトさせていくことによって実現できる。
すなわち、図6(a)に示したセット601を構成するアドレスは、アドレスa1として2を、読出モードとしてアドレス値0、1、10、11を与えることによってアクセスすることが可能になる。また、セット602〜604は、同様の読出モードを用い、アドレスa1だけを14、26、38というように12ずつシフトさせていくことによって実現できる。
また、図6(a)に示したセット605を構成するアドレスは、アドレスa1として0を、読出モードとしてアドレス値0、2、20、22を与えることによってアクセスすることが可能になる。
また、図7に示したセット701を構成するアドレスは、アドレスa1として0を、読出モードとしてアドレス値0、11、20、31を与えることによってアクセスすることが可能になる。
また、図7に示したセット701を構成するアドレスは、アドレスa1として0を、読出モードとしてアドレス値0、11、20、31を与えることによってアクセスすることが可能になる。
以上述べたように、横方向に一定の数ずつ配列されるデータのアドレスを、規則性を持って所定の数ずつ指定した場合、一のアドレスに一定のアドレス値を加算または減算してセットに含まれるすべてのアドレスを表現することができる。本実施形態は、この点に着目してなされたものである。
つまり、本実施形態の画像処理装置によれば、読出しまたは書込みのモードをアクセスすべきアドレスのセットに応じて設定し、アドレスa1にあたるアドレスを順次シフトさせることによって一度に任意のアドレスにアクセスすることが可能になる。したがって、本実施形態の画像処理装置は、読出アドレス制御部103、書込アドレス制御部101をセットに合わせて専用に作り込む必要がなく、汎用的な構成にすることができる。
つまり、本実施形態の画像処理装置によれば、読出しまたは書込みのモードをアクセスすべきアドレスのセットに応じて設定し、アドレスa1にあたるアドレスを順次シフトさせることによって一度に任意のアドレスにアクセスすることが可能になる。したがって、本実施形態の画像処理装置は、読出アドレス制御部103、書込アドレス制御部101をセットに合わせて専用に作り込む必要がなく、汎用的な構成にすることができる。
なお、以上述べた効果は、書込アドレス制御部101、読出アドレス制御部103を備えることによって得られる。そして、本実施形態の画像処理装置は、書込データ制御部107、読出データ制御部109を備えることによってアクセスされたアドレスへのデータ読出し、書込みの動作の処理効率をいっそう高めることができる。
次に、以上述べた画像処理装置の実際の画像処理の例を説明する。図8は、本実施形態の画像処理装置を8×8画素ごとに行われる2次元DCT(離散コサイン変換)処理に適用した場合の処理を示すフローチャートである。
次に、以上述べた画像処理装置の実際の画像処理の例を説明する。図8は、本実施形態の画像処理装置を8×8画素ごとに行われる2次元DCT(離散コサイン変換)処理に適用した場合の処理を示すフローチャートである。
2次元DCT処理を行う場合、本実施形態の画像処理装置は、8×8画素の横方向に配列された各画像データのDCT係数を算出する。続いて、縦方向に配列された各画像データのDCT係数を算出する。
このような処理を実行するため、本実施形態は、先ず、書込アドレス制御部101の設定を横方向に定義する(S801)。また、書込データ制御部107の設定を横方向に定義する(S802)。
このような処理を実行するため、本実施形態は、先ず、書込アドレス制御部101の設定を横方向に定義する(S801)。また、書込データ制御部107の設定を横方向に定義する(S802)。
さらに、本実施形態では、読出アドレス制御部103の設定を横方向に定義する(S803)。また、読出データ制御部109の設定を横方向に定義する(S804)。
以上の処理は、書込モードとして、0、1、2、3、4、5、6、7のアドレス値をレジスタ部302の各々に設定すると共に、読出モードとして、0、1、2、3、4、5、6、7のアドレス値をレジスタ部304の各々に設定することによって実現できる。
以上の処理は、書込モードとして、0、1、2、3、4、5、6、7のアドレス値をレジスタ部302の各々に設定すると共に、読出モードとして、0、1、2、3、4、5、6、7のアドレス値をレジスタ部304の各々に設定することによって実現できる。
続いて、本実施形態の画像処理装置は、設定された各アドレス値を順次与えられるアドレスa1に加算し、アクセスすべきアドレスを生成する。そして、生成されたアドレスにアクセスすることによって8画素分の画像データを読出し(S805)、読み出された各画像データのDCT係数を横方向についてのみ算出する(S806)。算出されたDCT係数は、書込アドレス制御部101に設定されたアドレスに書込まれる(S807)。
以上の処理によって、横方向の1ライン分にあたる8画素の画像データの一次元DCT係数の書込みが完了する。
次に、本実施形態では、以上の処理が8ライン分完了したか否か判断する(S808)。判断の結果、8ライン分が完了していなかった場合には(S808:No)、横方向の次のラインの画像データを順次読み出してDCT係数を算出する。
次に、本実施形態では、以上の処理が8ライン分完了したか否か判断する(S808)。判断の結果、8ライン分が完了していなかった場合には(S808:No)、横方向の次のラインの画像データを順次読み出してDCT係数を算出する。
一方、ステップS808において、横方向の8ライン分の画像データのDCT係数の算出が完了したと判断された場合(S808:Yes)、本実施形態の画像処理装置は、書込アドレス制御部101の設定を縦方向に定義する(S809)。また、書込データ制御部107の設定を縦方向に定義する(S810)。
さらに、本実施形態では、読出アドレス制御部103の設定を縦方向に定義する(S811)。また、読出データ制御部109の設定を縦方向に定義する(S812)。
さらに、本実施形態では、読出アドレス制御部103の設定を縦方向に定義する(S811)。また、読出データ制御部109の設定を縦方向に定義する(S812)。
以上の処理は、マルチポートメモリ105のメモリ幅(バイト単位)をMwとした場合、書込モードとして、0、Mw、2Mw、3Mw、4Mw、5Mw、6Mw、7Mwのアドレス値をレジスタ部302の各々に設定すると共に、読出モードとして、0、Mw、2Mw、3Mw、4Mw、5Mw、6Mw、7Mwのアドレス値をレジスタ部304の各々に設定することによって実現できる。
続いて、本実施形態の画像処理装置は、設定された各アドレス値を順次与えられるアドレスa1に加算し、アクセスすべきアドレスを生成する。そして、生成されたアドレスにアクセスすることによって8画素分のDCT係数を読出し(S813)、読み出された各DCT係数の縦方向についてのDCT係数を算出する(S814)。この結果、画像データの2次元方向のCDT係数が得られる。算出された2次元のDCT係数は、書込アドレス制御部101に設定されたアドレスに書込まれる(S815)。
以上の処理によって、縦方向の1ライン分の画像データの2次元DCT係数の書込みが完了する。
次に、本実施形態では、以上の処理が縦方向の8ライン分完了したか否か判断する(S816)。判断の結果、8ライン分が完了していなかった場合には(S816:No)、次の縦方向のラインの画像データを順次読み出してDCT係数を算出する。また、完了した場合(S816:Yes)、8×8画素分の画像データについて2次元DCT係数の算出が完了したものとして処理を終了する。
次に、本実施形態では、以上の処理が縦方向の8ライン分完了したか否か判断する(S816)。判断の結果、8ライン分が完了していなかった場合には(S816:No)、次の縦方向のラインの画像データを順次読み出してDCT係数を算出する。また、完了した場合(S816:Yes)、8×8画素分の画像データについて2次元DCT係数の算出が完了したものとして処理を終了する。
101 書込アドレス制御部、103 読出アドレス制御部、105 マルチポートメモリ、107 書込データ制御部、109 読出データ制御部、301 加算器、302,304 レジスタ部、303 書込レジスタ、305 読出レジスタ、306 選択マトリックスレジスタ、MUX 307
Claims (3)
- 記憶装置に記憶されている複数のデータに対し、1回のサイクルでアクセスすることが可能なデータ処理装置であって、
第1アドレスを取得する第1アドレス取得手段と、
第1アドレスと演算される第2アドレスを複数取得する第2アドレス取得手段と、
複数の第2アドレスの各々と第1アドレスとを演算し、複数の第3アドレスを生成する第3アドレス生成手段と、
前記記憶装置の第3アドレスの各々に同時にアクセスするデータアクセス手段と、
を備えることを特徴とするデータ処理装置。 - 前記第2アドレス取得手段が第2アドレスが設定されるレジスタであって、前記第3アドレス生成手段が第1アドレスと第2アドレスとを演算する演算器であることを特徴とする請求項1に記載のデータ処理装置。
- 前記第3アドレス生成手段によって生成された第3アドレスにしたがって書込まれるデータを選択する書込データ選択手段、及び読出されるデータを選択する読出データ選択手段の少なくとも一方を備えることを特徴とする請求項1または2に記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283270A JP2007094754A (ja) | 2005-09-29 | 2005-09-29 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283270A JP2007094754A (ja) | 2005-09-29 | 2005-09-29 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007094754A true JP2007094754A (ja) | 2007-04-12 |
Family
ID=37980399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005283270A Pending JP2007094754A (ja) | 2005-09-29 | 2005-09-29 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007094754A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008044735A1 (fr) | 2006-10-12 | 2008-04-17 | Nof Corporation | Électrolyte polymère conducteur ionique et batterie secondaire l'utilisant |
-
2005
- 2005-09-29 JP JP2005283270A patent/JP2007094754A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008044735A1 (fr) | 2006-10-12 | 2008-04-17 | Nof Corporation | Électrolyte polymère conducteur ionique et batterie secondaire l'utilisant |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100818819B1 (ko) | 데이터 구동 아키텍처를 갖는 화상 신호 프로세서용 메모리명령 핸들러 | |
KR20190138815A (ko) | 동형 암호화에 의한 보안 계산 가속화를 위한 동형 처리 유닛(hpu) | |
CN106846255B (zh) | 图像旋转实现方法及装置 | |
US20090238478A1 (en) | Image processing apparatus | |
US10362267B2 (en) | Image processing apparatus and electronic device including the same | |
WO2013106210A1 (en) | Electronic apparatus having parallel memory banks | |
TW535107B (en) | Data processing device | |
WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
JP2007094754A (ja) | データ処理装置 | |
JP4053545B2 (ja) | グラフィックスプロセッサおよび図形処理装置 | |
US20120030448A1 (en) | Single instruction multiple date (simd) processor having a plurality of processing elements interconnected by a ring bus | |
US20180095929A1 (en) | Scratchpad memory with bank tiling for localized and random data access | |
JPH10322642A (ja) | 画像演算処理装置およびその動作方法 | |
KR102247741B1 (ko) | 이미지 프로세서, 상기 이미지 프로세서의 동작 방법, 및 상기 이미지 프로세서를 포함하는 애플리케이션 프로세서 | |
US6427200B1 (en) | Multiple changeable addressing mapping circuit | |
JP2010033507A (ja) | メモリコントローラおよび画像処理装置 | |
JP2007026184A (ja) | 機能処理電子回路およびその制御手法 | |
JPH07210545A (ja) | 並列処理プロセッサ | |
US20040240755A1 (en) | Method and apparatus data re-arrangement | |
JP2004234407A (ja) | データ処理装置 | |
JP2011134085A (ja) | 画像処理装置 | |
JP5473507B2 (ja) | 並列処理装置 | |
JP2010191511A (ja) | マイクロプロセッサ | |
US8675994B1 (en) | High performance warp correction in two-dimensional images | |
JP5488609B2 (ja) | リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ |