(57)【要約】【課題】  ２つ以上の連続する画素データ範囲をビット分割されたレジスタに格納して処理ステップを減少させ、無効画素の割合を減少させて処理の更なる効率化を達成する。【解決手段】  プロセッサエレメントに内蔵のレジスタのビット幅を、Ｎ個のグループにビット分割し、プロセッサエレメント数以下の画素数の第１の画像データ範囲を、第１端から順に、該プロセッサエレメントに内蔵のレジスタのＭ番目のグループに記憶させ、第１の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第２の画像データ範囲を、第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵のレジスタのＭ番目グループ以外のグループに記憶させ、第１の画像データ範囲の画像処理と第２の画像データ範囲の画像処理を、第２端のプロセッサエレメントを境に連続する画素データを参照して行う。【選択図】図１
2007073010.tif 000002
【特許請求の範囲】
【請求項１】
画像データの主走査方向に連続する画素を、ＳＩＭＤ方式プロセッサに装備されたプロセッサエレメント数に応じて分割し、画像処理を行う画像処理方法であって、
前記プロセッサエレメントに内蔵の第１レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第１の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第１レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第１の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第２の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第１レジスタのＭ番目グループ以外のグループに記憶させ、
第１の画像データ範囲の画像処理と第２の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする画像処理方法。
【請求項２】
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成するＳＩＭＤ方式プロセッサにおいて、
前記プロセッサエレメントは、
Ｎ（Ｎ≧２）個にビット分割され、ビット分割された分割単位がＮ個のグループに分類され、Ｎ個のグループが識別されるレジスタと、
プロセッサエレメント内で、同一の識別の前記グループに属する前記分割単位が繋がるレジスタバスであって、隣接するプロセッサエレメントが互いのレジスタ内の、同一の識別の前記グループに属する分割単位を参照し演算するためのＮ個のレジスタバスと、
プロセッサエレメントの演算部へ入力するデータが該プロセッサエレメントのレジスタ内の分割単位か、前記レジスタバスを経て伝えられる隣接するプロセッサエレメントのレジスタ内の分割単位かを選択するマルチプレクサと、
２つの前記グループが隣り合う場合、相対的に反対方向のプロセッサエレメントのレジスタを参照するようにマルチプレクサを制御する制御回路を備え、
プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントでは、参照方向にレジスタが存在しない場合のために、プロセッサエレメントのレジスタ内の隣り合うグループのレジスタバス、若しくは、参照方向とは反対方向のプロセッサエレメントの隣り合うグループのレジスタバスが、存在しないレジスタバスの代りとして、前記マルチプレクサに繋がれていることを特徴とするＳＩＭＤ方式プロセッサ。
【請求項３】
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成するＳＩＭＤ方式プロセッサにおいて、
前記プロセッサエレメントは、
Ｎ（Ｎ≧２）個にビット分割され、ビット分割された分割単位がＮ個のグループに分類され、Ｎ個のグループが識別されるレジスタと、
プロセッサエレメント内で、同一の識別の前記グループに属する前記分割単位が繋がるレジスタバスであって、隣接するプロセッサエレメントが互いのレジスタ内の、同一の識別の前記グループに属する分割単位を参照し演算するためのＮ個のレジスタバスと、
プロセッサエレメントの演算部へ入力するデータが該プロセッサエレメントのレジスタ内の分割単位か、前記レジスタバスを経て伝えられる隣接するプロセッサエレメントのレジスタ内の分割単位かを選択するマルチプレクサと、
２つの前記グループが隣り合う場合、相対的に反対方向のプロセッサエレメントのレジスタを参照するようにマルチプレクサを制御する制御回路を備え、
更に、プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントは、同一の識別の前記グループに属する前記分割単位が繋がるＮ個の第２のレジスタバスを有し、
プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントでは、参照方向にレジスタが存在しない場合のために、プロセッサエレメントのレジスタ内の隣り合うグループの第２のレジスタバス、若しくは、参照方向とは反対方向のプロセッサエレメントの隣り合うグループの第２のレジスタバスが、存在しないレジスタバスの代りとして、前記マルチプレクサに繋がれていることを特徴とするＳＩＭＤ方式プロセッサ。
【請求項４】
請求項１に記載の画像処理方法において、
前記プロセッサエレメントに内蔵の第２レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第３の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第２レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第３の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第４の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第２レジスタのＭ番目グループ以外のグループに記憶させ、
第３の画像データ範囲の画像処理と第４の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする画像処理方法。
【請求項５】
請求項１に記載の画像処理方法において、
前記プロセッサエレメントに内蔵の第２レジスタ及び第３レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第３の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第２レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第３の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第４の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第３レジスタのＬ（１≦Ｌ≦Ｎ）番目グループに記憶させ、
第３の画像データ範囲の画像処理と第４の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする画像処理方法。
【請求項６】
画像データの主走査方向に連続する画素を、ＳＩＭＤ方式プロセッサに装備されたプロセッサエレメント数に応じて分割し、画像処理を行う画像処理装置であって、
前記プロセッサエレメントに内蔵の第１レジスタのビット幅が、Ｎ（Ｎ≧２）個のグループにビット分割されており、
前記プロセッサエレメント数以下の画素数の第１の画像データ範囲を、前記プロセッサエレメントの第１端から順に、外部記憶装置から、該プロセッサエレメントに内蔵の第１レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第１の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第２の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、外部記憶装置から、該プロセッサエレメントに内蔵の第１レジスタのＭ番目グループ以外のグループに記憶させ、
第１の画像データ範囲の画像処理と第２の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ−ｓｔｒｅａｍ）方式プロセッサ、当該ＳＩＭＤ方式プロセッサを利用する画像処理方法、及びＳＩＭＤ方式プロセッサを搭載する画像処理装置に関する。
【背景技術】
【０００２】
画像処理を実行するマイクロプロセッサでは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ−ｓｔｒｅａｍ）型を採用することが多い。なぜなら、１つの命令で複数のデータに対して同時に同一の演算処理が実行可能であるＳＩＭＤ方式プロセッサの特徴が画像処理に適しているからである。ＳＩＭＤ方式プロセッサは、プロセッサエレメント（Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ：以下、ＰＥと称する。）と呼ばれる単位で演算部とレジスタを備え、そのようなＰＥを複数個有する。これら複数個のＰＥが同時に演算処理を行うことで、１つの命令で複数のデータに対して同時に同一の演算処理を実行する。画像処理において各ＰＥは、通常１個の画素の画像処理を担当するように設計されている。
【０００３】
通常、ＳＩＭＤ方式プロセッサを用いて画像処理を行う場合、水平走査方向に複数のＰＥを展開する。プロセッサに装備しているＰＥが水平走査方向の画素数より少ない場合、水平走査方向の画素をＰＥ数単位で分割し、画像処理を複数回反復実施することで、水平走査方向の全画素の画像処理を行う。このことは、例えば特許文献２に開示されている。
【０００４】
例えば、水平走査方向に４８０個の画素データが並ぶようなデータの画像処理を、９６のＰＥを備えるＳＩＭＤ方式プロセッサで処理する場合を考える。制約条件が無い場合、図１３に示すように９６データ単位で５回反復処理を実施することにより、全４８０個のデータの処理を完遂できる。
【０００５】
ところで、フィルタ処理などの画像処理をＳＩＭＤ方式プロセッサで行う場合、注目画素の隣接する画素を参照して処理を行わなければならない。そうすると、ＰＥアレイの両端に位置するＰＥでは隣接ＰＥが存在しないために、適切な隣接データを参照できないことがある。このとき、ＰＥアレイの両端に位置するＰＥでは適切な処理結果が得られない。
【０００６】
このような場合、適切な（正常な）処理結果ではない部分を排除し、有効な範囲だけを処理結果として採用する。そうすると、有効なデータの範囲は、ＳＩＭＤ方式プロセッサに装備されているＰＥ数よりも少なくなることが多い。
【０００７】
図１４は、９６個のＰＥを備えたＳＩＭＤ方式プロセッサにおいて、隣接データを参照する度に有効なデータ範囲が減少していく様子を示す。図１４に示す例では、２つ隣までのデータを参照するフィルタ処理を８回行うことで、有効範囲が６４画素に減少している。
【０００８】
次に、図１５は、上記のように６４画素に減少した有効範囲で、前述の水平走査方向４８０画素データの処理を行う場合の、反復処理の様子を示す。図１５に示されているように、全４８０画素の処理を行うには、７．５回の反復処理が必要となる。
【０００９】
ＰＥアレイの端部で無効になる画素の数は、フィルタ処理の内容で決定される。つまり、ＳＩＭＤ方式プロセッサに備えられるＰＥ数が小さいほど、有効画素の割合が減少することになりデータ処理効率が悪化する。
【００１０】
しかしながら、近年は画像処理における画像の精度は益々向上しており、水平走査方向の画素は増加する傾向にある。このことは、水平走査方向の画素をＰＥ数単位で分割し、画像処理を複数回反復実施するＳＩＭＤ方式プロセッサでは、反復回数が増加することを意味する。ここで更に、ＳＩＭＤ方式プロセッサが備えているＰＥ数に対する有効画素範囲が減少するとしたら、反復回数の更なる増加に繋がり、ひいては全体の画像処理に要する時間の増大に繋がる。
【００１１】
ところで、一方で、ＳＩＭＤ方式プロセッサで演算を行うデータのビット幅も、年々増加する傾向にある。データのビット幅が増加するとしても、従来の構成のプロセッサのビット幅を増やせば対応は可能である。しかし、ビット幅が少ないデータの演算にビット幅が大きいプロセッサをそのまま全て使うのは、効率的ではない。したがって、従来技術では、レジスタやＡＬＵ（演算論理回路）を分割し、同時に複数の独立した演算を行うようにしている。
【００１２】
なお、特許文献１は、装備しているＰＥ数よりも多い画素データに対して反復処理を実施し、且つ隣接する画素データを参照する画像処理において、無効画素を減少させることに対応し得るＳＩＭＤ方式プロセッサを開示する。このＳＩＭＤ方式プロセッサでは、連続する画素データを２本（以上）のレジスタに配置して処理するが、その処理では２ステップが必要となる。特許文献２は、装備しているＰＥ数よりも多い画素データに対して反復処理を実施するＳＩＭＤ方式プロセッサを開示する。このＳＩＭＤ方式プロセッサでは、メモリとＰＥの間で画像データを適宜ロード／ストアする。隣接する画素データを参照する画像処理において、無効画素が発生することの記載があるが、解決方法については開示がない。特許文献３は、プロセッサに装備しているＰＥが水平走査方向の画素数より少ない場合の課題解決を、目的とする発明を記載する。テンポラリレジスタを備え、メインのレジスタと連結してシフト（巡回的に転送）することで課題解決を実現している。特許文献４は、画像データの端部における処理結果の歪みを減少することを目的とする（ＳＩＭＤ方式の）画像処理プロセッサを開示する。この画像処理プロセッサでは、ＰＥアレイの端に新たにＰＥを拡張設置し、端部の画像データに対し端部のデータを折り返し入力する。但し、この発明の画像処理プロセッサでは、水平走査方向のデータよりプロセッサに装備されたＰＥ数が上回ることを前提としている。
【特許文献１】特開２００４−２０６３８７公報
【特許文献２】特開２００１−１３４５３８公報
【特許文献３】特開２０００−２０７０５公報
【特許文献４】特開平８−１８０１７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、同じ数のＰＥを備えるＳＩＭＤ方式プロセッサと比較して、２つ若しくはそれ以上の連続する画素データをビット分割されたレジスタに格納して処理ステップをより減少させることと、無効画素の割合を減少させて処理の更なる効率化を達成することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記の目的を達成するためになされたものである。本発明に係る請求項１に記載の画像処理方法は、
画像データの主走査方向に連続する画素を、ＳＩＭＤ方式プロセッサに装備されたプロセッサエレメント数に応じて分割し、画像処理を行う画像処理方法であって、
前記プロセッサエレメントに内蔵の第１レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第１の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第１レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第１の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第２の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第１レジスタのＭ番目グループ以外のグループに記憶させ、
第１の画像データ範囲の画像処理と第２の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする。
【００１５】
本発明に係る請求項２に記載のＳＩＭＤ方式プロセッサは、
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成するＳＩＭＤ方式プロセッサである。そのＳＩＭＤ方式プロセッサにおいて、
前記プロセッサエレメントは、
Ｎ（Ｎ≧２）個にビット分割され、ビット分割された分割単位がＮ個のグループに分類され、Ｎ個のグループが識別されるレジスタと、
プロセッサエレメント内で、同一の識別の前記グループに属する前記分割単位が繋がるレジスタバスであって、隣接するプロセッサエレメントが互いのレジスタ内の、同一の識別の前記グループに属する分割単位を参照し演算するためのＮ個のレジスタバスと、
プロセッサエレメントの演算部へ入力するデータが該プロセッサエレメントのレジスタ内の分割単位か、前記レジスタバスを経て伝えられる隣接するプロセッサエレメントのレジスタ内の分割単位かを選択するマルチプレクサと、
２つの前記グループが隣り合う場合、相対的に反対方向のプロセッサエレメントのレジスタを参照するようにマルチプレクサを制御する制御回路を備え、
プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントでは、参照方向にレジスタが存在しない場合のために、プロセッサエレメントのレジスタ内の隣り合うグループのレジスタバス、若しくは、参照方向とは反対方向のプロセッサエレメントの隣り合うグループのレジスタバスが、存在しないレジスタバスの代りとして、前記マルチプレクサに繋がれていることを特徴とする。
【００１６】
本発明に係る請求項３に記載のＳＩＭＤ方式プロセッサは、
複数のプロセッサエレメントがプロセッサエレメントアレイ部を構成するＳＩＭＤ方式プロセッサである。そのＳＩＭＤ方式プロセッサにおいて、
前記プロセッサエレメントは、
Ｎ（Ｎ≧２）個にビット分割され、ビット分割された分割単位がＮ個のグループに分類され、Ｎ個のグループが識別されるレジスタと、
プロセッサエレメント内で、同一の識別の前記グループに属する前記分割単位が繋がるレジスタバスであって、隣接するプロセッサエレメントが互いのレジスタ内の、同一の識別の前記グループに属する分割単位を参照し演算するためのＮ個のレジスタバスと、
プロセッサエレメントの演算部へ入力するデータが該プロセッサエレメントのレジスタ内の分割単位か、前記レジスタバスを経て伝えられる隣接するプロセッサエレメントのレジスタ内の分割単位かを選択するマルチプレクサと、
２つの前記グループが隣り合う場合、相対的に反対方向のプロセッサエレメントのレジスタを参照するようにマルチプレクサを制御する制御回路を備え、
更に、プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントは、同一の識別の前記グループに属する前記分割単位が繋がるＮ個の第２のレジスタバスを有し、
プロセッサエレメントアレイ部の少なくとも一方の端のプロセッサエレメントもしくは端から数個の端プロセッサエレメントでは、参照方向にレジスタが存在しない場合のために、プロセッサエレメントのレジスタ内の隣り合うグループの第２のレジスタバス、若しくは、参照方向とは反対方向のプロセッサエレメントの隣り合うグループの第２のレジスタバスが、存在しないレジスタバスの代りとして、前記マルチプレクサに繋がれていることを特徴とする。
【００１７】
本発明に係る請求項４に記載の画像処理方法は、
請求項１に記載の画像処理方法において、
前記プロセッサエレメントに内蔵の第２レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第３の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第２レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第３の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第４の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第２レジスタのＭ番目グループ以外のグループに記憶させ、
第３の画像データ範囲の画像処理と第４の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする。
【００１８】
本発明に係る請求項５に記載の画像処理方法は、
請求項１に記載の画像処理方法において、
前記プロセッサエレメントに内蔵の第２レジスタ及び第３レジスタのビット幅を、Ｎ（Ｎ≧２）個のグループにビット分割し、
前記プロセッサエレメント数以下の画素数の第３の画像データ範囲を、前記プロセッサエレメントの第１端から順に、該プロセッサエレメントに内蔵の第２レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第３の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第４の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、該プロセッサエレメントに内蔵の第３レジスタのＬ（１≦Ｌ≦Ｎ）番目グループに記憶させ、
第３の画像データ範囲の画像処理と第４の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする。
【００１９】
本発明に係る請求項６に記載の画像処理装置は、
画像データの主走査方向に連続する画素を、ＳＩＭＤ方式プロセッサに装備されたプロセッサエレメント数に応じて分割し、画像処理を行う画像処理装置であって、
前記プロセッサエレメントに内蔵の第１レジスタのビット幅が、Ｎ（Ｎ≧２）個のグループにビット分割されており、
前記プロセッサエレメント数以下の画素数の第１の画像データ範囲を、前記プロセッサエレメントの第１端から順に、外部記憶装置から、該プロセッサエレメントに内蔵の第１レジスタのＭ（１≦Ｍ≦Ｎ）番目のグループに記憶させ、
前記第１の画像データ範囲に続く前記プロセッサエレメント数以下の画素数の第２の画像データ範囲を、前記第１端の反対端である第２端のプロセッサエレメントから逆順に、外部記憶装置から、該プロセッサエレメントに内蔵の第１レジスタのＭ番目グループ以外のグループに記憶させ、
第１の画像データ範囲の画像処理と第２の画像データ範囲の画像処理を、前記第２端のプロセッサエレメントを境に連続する画素データを参照して行うことを特徴とする。
【発明の効果】
【００２０】
本発明を利用することにより、２つ若しくはそれ以上の連続する画素データ範囲をビット分割されたレジスタに格納して処理するため、処理ステップが減少する。更に、プロセッサエレメントアレイ部の端部で画素データが連続するので、無効画素の割合が減少し処理全体がより効率化する。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明に係る好適な実施形態を説明する。
【００２２】
図１は、一般的なＳＩＭＤ方式プロセッサ２及び画像メモリ１０の概略の構成図である。グローバルプロセッサ６は、所謂ＳＩＳＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ−ｓｔｒｅａｍ，  Ｓｉｎｇｌｅ  Ｄａｔａ−ｓｔｒｅａｍ）タイプのプロセッサであり、プログラムＲＡＭとデータＲＡＭを内蔵してプログラムを解読し各種制御信号を生成する。この制御信号はグローバルプロセッサ６に内蔵される各種ブロックの他、レジスタファイル１２や演算アレイ１４に供給される。また、グローバルプロセッサ６は、ＧＰ（グローバルプロセッサ）命令実行時には内蔵する汎用レジスタ、ＡＬＵ（算術論理演算器）等を使用して各種演算処理、プログラム制御処理を行う。
【００２３】
レジスタファイル１２は、ＰＥ（プロセッサエレメント）命令で処理されるデータを保持している。ＰＥ命令はＳＩＭＤタイプの命令であり、レジスタファイルに保持されている複数のデータに対して同時に同じ処理を行う。
【００２４】
このレジスタファイル１２からのデータの読み出し／書き込みの制御は、グローバルプロセッサ６によって行われる。読み出されたデータは演算アレイ１４に送られ、演算アレイ１４での演算処理後にレジスタファイル１２に書き込まれる。また、レジスタファイル１２は、プロセッサ外部からのアクセスが可能であり、グローバルプロセッサ６の制御とは別に、外部から特定のレジスタに対して読み出し／書き込みが行われる。
【００２５】
演算アレイ１４は、ＰＥにおける演算部のアレイ状の集合体であり、ＰＥ命令の演算処理が行われる部位である。処理の制御はすべてグローバルプロセッサ６から行われる。画像メモリ１０は、処理する前の画像データを記憶し、処理後の画像データを記憶する。
【００２６】
外部入出力８は、画像メモリ１０から処理する前の画像データを読み出し、ＰＥのレジスタファイル１２に書き込む、あるいはレジスタファイル１２から処理後の画像データを読み出し、画像メモリ１０に書き込む。
【００２７】
図２は、２つのグループ（上位ビット側、下位ビット側）に、ビット分割されたＡＬＵ、レジスタ等をもつＳＩＭＤ方式プロセッサ２の詳細な構成例である。グローバルプロセッサ６には、該プロセッサ６のプログラム格納用のプログラムＲＡＭ（Ｐｒｏｇｒａｍ−ＲＡＭ）３６と演算データ格納用のデータＲＡＭ（Ｄａｔａ−ＲＡＭ）３８が内蔵されている。
【００２８】
さらに、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）２６、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ３レジスタ（１６、１８、２０、２２）、レジスタ退避、復帰時に退避先データＲＡＭのアドレスを保持しているスタックポインタ（ＳＰ）２４、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）２８、同じくＩＲＱ時とＮＭＩ時の分岐元アドレスを保持するＬＩ、ＬＮレジスタ（３０、３２）、プロセッサ６の状態を保持しているプロセッサステータスレジスタ（Ｐ）３４が内蔵されている。
【００２９】
これらのレジスタと図示していない命令デコーダ、ＡＬＵ、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路を使用してＧＰ命令の実行が行われる。ＰＥ命令実行時はレジスタファイル制御回路１１、演算部制御回路１３、図示していない命令デコーダを使用して、レジスタファイル１２の制御と演算アレイ１４の制御を行う。
【００３０】
レジスタファイル１２には、各ＰＥに１６ビットのレジスタが複数本内蔵されており、ＰＥ数分の組がアレイ構成になっている。レジスタはＰＥごとにＲ０、Ｒ１、Ｒ２、．．．と呼ばれている。それぞれのレジスタは、演算アレイ１４に対してポートを備えており、上位ビット側と下位ビット側のそれぞれに対して、８ビットのリード／ライト兼用のバス（以下レジスタバス）で演算アレイ１４からアクセスされる。図示しているレジスタは、紙面の関係により各ＰＥで１本としている。
【００３１】
演算アレイ１４はＰＥにおける演算部４０のアレイ状の集合体であり、各演算部４０は、３２ビットＡＬＵと３２ビットＡレジスタ、Ｆレジスタを内蔵している。ＰＥ命令による演算は、基本的にレジスタファイル１２から読み出されたデータをＡＬＵの片側の入力として、もう片側にはＡレジスタの内容を入力として結果をＡレジスタに格納する。したがって、ＡレジスタとＲ０、Ｒ１、Ｒ２、．．．レジスタとの演算が行われることになる。３２ビットＡＬＵは、２つの１６ビットＡＬＵ（５４ａ、５４ｂ）から構成されており、演算の精度が必要な場合は下位ビット側のＡＬＵ５４ｂからキャリーが上位ビット側のＡＬＵ５４ａに入力され、３２ビットＡＬＵとして機能する。演算の精度が３２ビットも必要でない場合は、１６ビットずつの独立した演算を行うことも可能である。
【００３２】
レジスタファイル１２と演算部４０との接続に５対１のマルチプレクサが置かれており、該マルチプレクサは、ＰＥ方向で左に１つ、２つ離れたデータと右に１つ、２つ離れたデータ、中央のデータを演算対象として選択する。
【００３３】
ＰＥｎは、レジスタファイル１２と演算アレイ１４の対応する組のうちの任意のひとつである。図２では、ＰＥｎを中心に前後２つのＰＥを示しており、これらはＰＥ全体の一部である。以下の説明では、図の左方向に向かって大きいＰＥ番号がつけられるものとして説明する。
【００３４】
このＰＥｎのマルチプレクサに注目すると、上位ビット側マルチプレクサ４８ａ、下位ビット側マルチプレクサ４８ｂともに、入力されている信号はＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２のレジスタバス（４６ａ、４６ｂ）であり、前後２つのＰＥを参照する演算が可能であることが判る。各ＰＥに１個の画素を配置したとき、２画素隣までを参照するフィルタ処理などの画像処理が可能である。
【００３５】
レジスタファイル１２に示される最上段のレジスタは、外部入出力８によって内容の読み出し／書き込みが可能なレジスタである。図外の外部入出力８からデータバスとコントロール信号を用いて、任意のレジスタの読み出し／書き込みが可能である。
【００３６】
図３に図２と同じＳＩＭＤ方式プロセッサで、ＰＥアレイ部４の一端の部分を示す。グローバルプロセッサ６部分は、図２と同じである。図３のＰＥアレイ部４では、図２に示した外部入出力８からのデータバスとコントロール信号と読み出し／書き込みが可能なレジスタを、図示していない。
【００３７】
図示されているＰＥは、右端のＰＥ０からＰＥ４の部分である。各ＰＥは図２と同様の構成であるため、マルチプレクサに入力される信号は、上位ビット側、下位ビット側ともに、ＰＥ４、ＰＥ３、ＰＥ２までは図２のときと同様に前後２ＰＥの参照が可能になっている。
【００３８】
ところがＰＥ１にとって２つ前のＰＥ、すなわちＰＥｎ−２に相当するＰＥは存在しない。同様に、ＰＥ０にとっては１つ前、２つ前のＰＥ、すなわちＰＥｎ−１、ＰＥｎ−２に相当するＰＥは存在しない。そのため存在しないＰＥのレジスタバスのデータは上位ビット側、下位ビット側ともに固定値となる。例ではＧＮＤ、すなわち値は“０”となる。
【００３９】
《第１の実施形態》
図４は、本発明の第１の実施形態に係るＳＩＭＤ方式プロセッサを用いる画像処理方法を示す概念図である。図１３を用いて説明した従来技術の画像処理と同じ条件とする。即ち、９６個のＰＥを備えるＳＩＭＤ方式プロセッサで、水平走査方向に４８０画素データを処理するものとする。
【００４０】
第１の実施形態では、１回の処理でＰＥ数の２倍の画素データを読み込んで処理する。画像データのビット幅は、ＰＥに内蔵するレジスタのビット幅に対して半分であるとする。図４を用いて読み込み方法を説明する。図４の上部に示すように連続する１９２画素データを読み込むものとして、前半画像データ９６個と後半画像データ９６個を設定する。
【００４１】
前半画像データは、最左端としてｄ（−９６）があり、右すなわち前方に向かって順に、ｄ（−９５）、ｄ（−９４）、．．．、ｄ（−３）、ｄ（−２）、ｄ（−１）と９６個のデータがあり、これらはＰＥ９５、ＰＥ９４、ＰＥ９３、．．．、ＰＥ２、ＰＥ１、ＰＥ０のレジスタＲ０の上位ビット側にそれぞれ読み込まれる。後半画像データは、最左端としてｄ（０）があり、右すなわち前方に向かって順に、ｄ（１）、ｄ（２）、．．．、ｄ（９３）、ｄ（９４）、ｄ（９５）と９６個のデータがあり、これらはＰＥ０、ＰＥ１、ＰＥ２、．．．、ＰＥ９３、ＰＥ９４、ＰＥ９５のＲ０の下位ビット側にそれぞれ読み込まれる。
【００４２】
ＰＥそのものは９６しかないが、１９２個の画像データが図４に示すように、全て同一レジスタ上にあるので、実際の画像処理の演算では、１９２個のデータの処理が同時に一度で実施できる。以上のように、第１の実施形態に係る画像処理方法では、ビット分割されたレジスタにデータを配置することにより、二度必要であった演算処理を一度で実施することが可能となる。
【００４３】
前述のように、フィルタ処理などの画像処理では、注目画素の隣接画素を参照する。前半画像データの処理において隣接データを参照する場合、ｄ（−９６）の隣接データのうちｄ（−９７）に相当する隣接データは、どのＰＥにも存在しないため、処理を進めていくうちにこちらの端から無効データが発生する。一方、ｄ（−１）の隣接データはｄ（−２），ｄ（−３），．．．あるいはｄ（０），ｄ（１），．．．であり、両方向の隣接データが近くのＰＥに存在するため、フィルタ処理されたｄ（−１）のデータは無効データとはならない。
【００４４】
同様に、後半画像データの処理において隣接データを参照した場合、ｄ（９５）の隣接データのうちｄ（９６）に相当する隣接データは、どのＰＥにも存在しないため、処理を進めていくうちにこちらの端から無効データが発生する。一方、ｄ（０）の隣接データはｄ（−１），ｄ（−２），．．．あるいはｄ（１），ｄ（２），．．．であり、両方向の隣接データが近くのＰＥに存在するため、フィルタ処理されたｄ（０）のデータは無効データとはならない。
【００４５】
以上のように、第１の実施形態に係る画像処理方法では、ＰＥアレイ部１４の一端で有効処理範囲の減少を防ぐことができる。図１５で示した従来の方法と同様の条件、即ち、９６個のＰＥを備えるＳＩＭＤ方式プロセッサで、水平走査方向に４８０画素データを処理するものとし、１回の画像処理の過程で端の画素から１６データ分が無効になるものとした場合、第１の実施形態では、図５のように示すことができる。
【００４６】
第１の実施形態では、１回の読み込みでＰＥ数の２倍の１９２データを読み込むが、前半９６データと後半９６データは同一のレジスタに格納するため、一度の演算処理で実施できる。そして、前半画像データと後半画像データの繋ぎ目付近は、これまでの説明のように無効画素が発生しない。そのため１９２データのうち中央の１６０データが有効範囲となる。これを水平走査方向に展開するとき、４８０データに対しては３回の処理で完遂することができる。
【００４７】
第１の実施形態では、前半画像データをレジスタの上位ビット側に右から左へ読み込んだ後、そこで折り返し、後半画像データをレジスタの下位ビット側に左から右へ読み込む。ここで比較対象のために、従来の方法を利用し、折り返しをすることなく、９６個のＰＥを備えるＳＩＭＤ方式プロセッサで、水平走査方向に４８０画素データを処理することを想定する。条件を合わせるため、画像データのビット幅は、ＰＥに内蔵するレジスタのビット幅に対して半分であるとし、１回の処理でＰＥ数の２倍の画素データを読み込んで処理するものとする。
【００４８】
つまり、（図４上部に示す）ｄ（−９６）、ｄ（−９５）、．．．、ｄ（−３）、ｄ（−２）、ｄ（−１）の９６個のデータは、ＰＥ９５、ＰＥ９４、ＰＥ９３、．．．、ＰＥ２、ＰＥ１、ＰＥ０のＲ０の上位ビット側にそれぞれ読み込まれる。ｄ（０）、ｄ（１）、．．．、ｄ（９３）、ｄ（９４）、ｄ（９５）は、ＰＥ９５、ＰＥ９４、ＰＥ９３、．．．、ＰＥ２、ＰＥ１、ＰＥ０のＲ０の下位ビット側にそれぞれ読み込まれる。上位ビット側、下位ビット側それぞれにおいて繋ぎ目付近で無効画素が発生するので、上位ビット側、下位ビット側での有効画素はそれぞれ、６４個に過ぎない。従って、１度の処理での処理量は１２８個のデータである。そうすると、４８０個のデータに対しては、３．７５回の処理が必要になる。
【００４９】
第１の実施形態に係る画像処理方法では、上述のとおり同じ条件下で３回の処理で完了できる。従って、本発明は処理の効率化を達成しているといえる。
【００５０】
《第２の実施形態》
図６は、本発明の第２の実施形態に係るＳＩＭＤ方式プロセッサ２の構成図であり、図３と同様のＰＥアレイ部４の一端の部分を示している。
【００５１】
第２の実施形態に係るＳＩＭＤ方式プロセッサ２では、ＰＥ１の下位ビット側のマルチプレクサは、入力信号としてＰＥｎ−２に相当するところにＰＥ０の上位ビット側レジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に相当するのは、ＰＥ３の下位ビット側レジスタバス、ＰＥ２の下位ビット側レジスタバス、ＰＥ１の下位ビット側レジスタバス、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側レジスタバスとなる。
【００５２】
ＰＥ１の上位ビット側のマルチプレクサも同様に、入力信号としてＰＥｎ＋２に相当するところにＰＥ０の下位ビット側レジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に相当するのは、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側レジスタバス、ＰＥ１の上位ビット側レジスタバス、ＰＥ２の上位ビット側レジスタバス、ＰＥ３の上位ビット側レジスタバスとなる。
【００５３】
同様に、ＰＥ０の下位ビット側のマルチプレクサは、入力信号としてＰＥｎ−１に相当するところにＰＥ０の上位ビット側レジスタバスを、ＰＥｎ−２に相当するところにＰＥ１の上位ビット側レジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に相当するのは、ＰＥ２の下位ビット側レジスタバス、ＰＥ１の下位ビット側レジスタバス、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側レジスタバス、ＰＥ１の上位ビット側レジスタバスとなる。
【００５４】
ＰＥ０の上位ビット側のマルチプレクサも同様に、入力信号としてＰＥｎ＋１に相当するところにＰＥ０の下位ビット側レジスタバスを、ＰＥｎ＋２に相当するところにＰＥ１の下位ビット側レジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に相当するのは、ＰＥ１の下位ビット側レジスタバス、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側レジスタバス、ＰＥ１の上位ビット側レジスタバス、ＰＥ２の上位ビット側レジスタバスとなる。
【００５５】
図７は、図６に示す本発明の第２の実施形態に係るＳＩＭＤ方式プロセッサにおける上位ビット側マルチプレクサ４２ａの制御信号生成回路の概略図（図７（１））、及び下位ビット側マルチプレクサ４２ｂの制御信号生成回路の概略図（図７（２））の概略図である。図７に示す制御信号生成回路の動作を説明する。
【００５６】
Ｃ＿ｅｎ、Ｌ１＿ｅｎ、Ｌ２＿ｅｎ、Ｕ１＿ｅｎ、Ｕ２＿ｅｎは、それぞれ現在実行中の命令が、（水平走査方向上で）どのＰＥに格納されている画像データを参照する命令であるかを示している。順に、Ｃ＿ｅｎは自身のＰＥ参照命令、Ｌ１＿ｅｎは１つ前方のＰＥ参照命令、Ｌ２＿ｅｎは２つ前方のＰＥ参照命令、Ｕ１＿ｅｎは１つ後方のＰＥ参照命令、Ｕ２＿ｅｎは２つ後方のＰＥ参照命令である。
【００５７】
ＣＡ＿ｅｎａｂｌｅ、Ｌ１Ａ＿ｅｎａｂｌｅ、Ｌ２Ａ＿ｅｎａｂｌｅ、Ｕ１Ａ＿ｅｎａｂｌｅ、Ｕ２Ａ＿ｅｎａｂｌｅは、各ＰＥの上位ビット側で実際に開かれる参照経路がどれであるかを示している。ＣＢ＿ｅｎａｂｌｅ、Ｌ１Ｂ＿ｅｎａｂｌｅ、Ｌ２Ｂ＿ｅｎａｂｌｅ、Ｕ１Ｂ＿ｅｎａｂｌｅ、Ｕ２Ｂ＿ｅｎａｂｌｅは、各ＰＥの下位ビット側で実際に開かれる参照経路がどれであるかを示している。
【００５８】
つまり、ＣＡ＿ｅｎａｂｌｅ、ＣＢ＿ｅｎａｂｌｅは、自身のＰＥを参照するゲートが開く信号である。Ｌ１Ａ＿ｅｎａｂｌｅ、Ｌ１Ｂ＿ｅｎａｂｌｅは、１つ前のＰＥを参照するゲートが開く信号である。Ｌ２Ａ＿ｅｎａｂｌｅ、Ｌ２Ｂ＿ｅｎａｂｌｅは、２つ前のＰＥを参照するゲートが開く信号である。Ｕ１Ａ＿ｅｎａｂｌｅ、Ｕ１Ｂ＿ｅｎａｂｌｅは、１つ後のＰＥを参照するゲートが開く信号である。Ｕ２Ａ＿ｅｎａｂｌｅ、Ｕ２Ｂ＿ｅｎａｂｌｅは、２つ後のＰＥを参照するゲートが開く信号である。「ビット分割モード」は、レジスタを上位ビット側と下位ビット側で分けて用いる場合のモードである。
【００５９】
上位ビット側では、（水平走査方向上で）前方ＰＥを参照したい場合は、前方のＰＥを参照する経路が開く。下位ビット側では、（水平走査方向上で）前方ＰＥを参照したい場合は、ビット分割モードではない時は、上位ビット側と同様に前方ＰＥを参照する経路が開く。ビット分割モードである時は、上位ビット側とは反対方向のＰＥを参照する経路が開く。
【００６０】
本発明の第２の実施形態に係るＳＩＭＤ方式プロセッサにおける、マルチプレクサを介する隣接ＰＥへの参照処理を説明する。
【００６１】
まず、レジスタＲ０における後半画像データの処理を行う場合を取り上げる。後半画像データでは、ＰＥ０からＰＥ９５への方向とデータの方向とが一致している。従って、ＰＥｎでの画像処理時に隣接する画素を参照するとき、２つ前方画素、１つ前方画素、当該画素、１つ後方画素、２つ後方画素に相当するのは、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２のレジスタＲ０の下位ビット側ということになる。
【００６２】
後半画像データのＰＥ１のレジスタの下位ビット側のデータはｄ（１）であり、その２つ後方画素はｄ（−１）である。ＰＥ１の場合、２つ後方画素に相当するＰＥｎ−２については、図６に示す構成に従いＰＥ０の上位ビット側レジスタバスに接続される。ＰＥ０のレジスタの上位ビット側にはｄ（−１）が格納されており、このときＰＥ０の上位ビット側レジスタバスを経てＰＥ１の下位ビット側マルチプレクサにｄ（−１）を伝達できる。従って、ＰＥ１のレジスタの下位ビット側においても、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に対応するデータとして、ｄ（３）、ｄ（２）、ｄ（１）、ｄ（０）、ｄ（−１）を読み込むことができる。すなわち、すべて正しい参照データを得ることができ、処理結果は信用できることになる。
【００６３】
後半画像データのＰＥ０のレジスタの下位ビット側のデータはｄ（０）であり、その２つ後方画素はｄ（−２）、１つ後方画素はｄ（−１）である。ＰＥ０の場合、２つ後方画素に相当するＰＥｎ−２については、図６に示す構成に従いＰＥ１の上位ビット側レジスタバスに接続され、１つ後方画素に相当するＰＥｎ−１については、図６に示す構成に従いＰＥ０の上位ビット側レジスタバスに接続される。ＰＥ１のレジスタの上位ビット側にはｄ（−２）が、ＰＥ０のレジスタの上位ビット側にはｄ（−１）が格納されている。このときＰＥ１、ＰＥ０の上位ビット側レジスタバスを経てＰＥ０の下位ビット側マルチプレクサにｄ（−２）あるいはｄ（−１）を伝達できる。従って、ＰＥ０の下位ビット側においても、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に対応するデータとして、ｄ（２）、ｄ（１）、ｄ（０）、ｄ（−１）、ｄ（−２）を読み込むことができる。すなわち、すべて正しい参照データを得ることができ、処理結果は信用できることになる。
【００６４】
後半画像データの処理において、ＰＥ１およびＰＥ０の演算結果が信用できるということは、この端における有効範囲の減少はないことになる。
【００６５】
次に、レジスタＲ０における前半画像データの処理を行う場合を取り上げる。前半画像データでは、ＰＥ０からＰＥ９５への方向とデータの方向とが逆転している。従って、ＰＥｎでの画像処理時に隣接する画素を参照するとき、２つ前方画素、１つ前方画素、当該画素、１つ後方画素、１つ後方画素に相当するのは、ＰＥｎ−２、ＰＥｎ−１、ＰＥｎ、ＰＥｎ＋１、ＰＥｎ＋２のＲ０の上位ビット側ということになる。
【００６６】
前半画像データのＰＥ１の上位ビット側レジスタのデータはｄ（−２）であり、その２つ前方画素はｄ（０）である。ＰＥ１の場合、２つ前方画素に相当するＰＥｎ−２については、図６に示す構成に従いＰＥ０の下位ビット側レジスタバスに接続される。ＰＥ０のレジスタの下位ビット側にはｄ（０）が格納されており、このときＰＥ０の下位ビット側レジスタバスを経てＰＥ１の上位ビット側マルチプレクサにｄ（０）を伝達できる。従って、ＰＥ１においてもＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に対応するデータとして、ｄ（−４）、ｄ（−３）、ｄ（−２）、ｄ（−１）、ｄ（０）を読み込むことができる。すなわち、すべて正しい参照データを得ることができ、処理結果は信用できることになる。
【００６７】
前半画像データのＰＥ０のレジスタの上位ビット側のデータはｄ（−１）であり、その２つ前方画素はｄ（１）、１つ前方画素はｄ（０）である。ＰＥ０の場合、２つ前方画素に相当するＰＥｎ−２については、図６に示す構成に従いＰＥ１の下位ビット側レジスタバスに接続され、１つ前方画素に相当するＰＥｎ−１については、図６に示す構成に従いＰＥ０の下位ビット側レジスタバスに接続される。ＰＥ１のレジスタの下位ビット側にはｄ（１）が、ＰＥ０のレジスタの下位ビット側にはｄ（０）が格納されている。このときＰＥ１、ＰＥ０の下位ビット側レジスタバスを経てＰＥ０の上位ビット側マルチプレクサにｄ（１）あるいはｄ（０）を伝達できる。従って、ＰＥ０の上位ビット側においても、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２に対応するデータとして、ｄ（−３）、ｄ（−２）、ｄ（−１）、ｄ（０）、ｄ（１）を読み込むことができる。すなわち、すべて正しい参照データを得ることができ、処理結果は信用できることになる。
【００６８】
前半画像データの処理において、ＰＥ１およびＰＥ０の演算結果が信用できるということは、この端における有効範囲の減少はないことになる。
【００６９】
なお、上記の説明では一つの好適な実施形態を取り上げたが、本発明がこれに限定されるものではない。上述の実施形態ではＳＩＭＤ方式プロセッサのＰＥ０側の端部において工夫を施しているが、反対端に施しても同様の効果を得ることができる。また上述の実施形態では、参照画素は前後２画素であるが、１画素以上であれば本発明を実現できる。
【００７０】
《第３の実施形態》
図８は、本発明の第３の実施形態に係るＳＩＭＤ方式プロセッサの構成図であり、図３及び図６と同様のＰＥアレイ部４の一端の部分を示している。
【００７１】
第３の実施形態に係るＳＩＭＤ方式プロセッサでは、ＰＥ０とＰＥ１の各レジスタには、上位ビット側、下位ビット側それぞれに、従来のレジスタバスとは別のバス（以下、第２のレジスタバスと言う。）が配置されており、各レジスタは対レジスタバスのポートとは別に第２のレジスタバス（６０ａ、６０ｂ）に対してポートを持つ。
【００７２】
ＰＥ１の下位ビット側のマルチプレクサは、入力信号としてＰＥｎ−２に相当するところにＰＥ０の上位ビット側の第２のレジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２の夫々のバスに相当するのは、ＰＥ３の下位ビット側レジスタバス、ＰＥ２の下位ビット側レジスタバス、ＰＥ１の下位ビット側レジスタバス、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側の第２のレジスタバスとなる。
【００７３】
ＰＥ１の上位ビット側のマルチプレクサにおいても同様に、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２の夫々のバスに相当するのは、ＰＥ０の下位ビット側の第２のレジスタバス、ＰＥ０の上位ビット側レジスタバス、ＰＥ１の上位ビット側レジスタバス、ＰＥ２の上位ビット側レジスタバス、ＰＥ３の上位ビット側レジスタバスとなる。
【００７４】
同様に、ＰＥ０の下位ビット側のマルチプレクサは、入力信号としてＰＥｎ−１に相当するところにＰＥ０の上位ビット側の第２のレジスタバスを、ＰＥｎ−２に相当するところにＰＥ１の上位ビット側の第２のレジスタバスを接続する。すなわち、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２の夫々のバスに相当するのは、ＰＥ２の下位ビット側レジスタバス、ＰＥ１の下位ビット側レジスタバス、ＰＥ０の下位ビット側レジスタバス、ＰＥ０の上位ビット側の第２のレジスタバス、ＰＥ１の上位ビット側の第２のレジスタバスとなる。
【００７５】
ＰＥ０の上位ビット側のマルチプレクサにおいても同様に、ＰＥｎ＋２、ＰＥｎ＋１、ＰＥｎ、ＰＥｎ−１、ＰＥｎ−２の夫々のバスに相当するのは、ＰＥ１の下位ビット側の第２のレジスタバス、ＰＥ０の下位ビット側の第２のレジスタバス、ＰＥ０の上位ビット側レジスタバス、ＰＥ１の上位ビット側レジスタバス、ＰＥ２の上位ビット側レジスタバスとなる。
【００７６】
上記の第３の実施形態に係るＳＩＭＤ方式プロセッサの構成によれば、第２の実施形態に係るＳＩＭＤ方式プロセッサと同じ効果を得られることは明白である。
【００７７】
《第４の実施形態》
図９は、本発明の第４の実施形態に係るＳＩＭＤ方式プロセッサを用いる画像処理方法を示す概念図である。ここでは、９６個のＰＥを備えるＳＩＭＤ方式プロセッサで、水平走査方向に３８４画素データを処理するものとする。
【００７８】
第４の実施形態でも、１回の処理でＰＥ数の２倍の画素データを読み込んで処理する。画像データのビット幅は、ＰＥに内蔵するレジスタのビット幅に対して半分であるとする。図９を用いて読み込み方法を説明する。図９の上部に示すように連続する３８４画素データを読み込むものとして、第１画像データ、第２画像データ、第３画像データ及び第４画像データを設定する。夫々のデータ数は９６である。
【００７９】
第１画像データは、最左端としてｄ（０）があり、右すなわち前方に向かって順に、ｄ（１）、ｄ（２）、．．．、ｄ（９３）、ｄ（９４）、ｄ（９５）と９６個のデータがあり、これらはＰＥ９５、ＰＥ９４、ＰＥ９３、．．．、ＰＥ２、ＰＥ１、ＰＥ０のレジスタＲ１の上位ビット側にそれぞれ読み込まれる。第２画像データは、最左端としてｄ（９６）があり、右すなわち前方に向かって順に、ｄ（９７）、ｄ（９８）、．．．、ｄ（１８９）、ｄ（１９０）、ｄ（１９１）と９６個のデータがあり、これらはＰＥ０、ＰＥ１、ＰＥ２、．．．、ＰＥ９３、ＰＥ９４、ＰＥ９５のレジスタＲ１の下位ビット側にそれぞれ読み込まれる。
【００８０】
第３画像データは、最左端としてｄ（１９２）があり、右すなわち前方に向かって順に、ｄ（１９３）、ｄ（１９４）、．．．、ｄ（２８５）、ｄ（２８６）、ｄ（２８７）と９６個のデータがあり、これらはＰＥ９５、ＰＥ９４、ＰＥ９３、．．．、ＰＥ２、ＰＥ１、ＰＥ０のレジスタＲ０の上位ビット側にそれぞれ読み込まれる。第４画像データは、最左端としてｄ（２８８）があり、右すなわち前方に向かって順に、ｄ（２８９）、ｄ（２９０）、．．．、ｄ（３８１）、ｄ（３８２）、ｄ（３８３）と９６個のデータがあり、これらはＰＥ０、ＰＥ１、ＰＥ２、．．．、ＰＥ９３、ＰＥ９４、ＰＥ９５のレジスタＲ０の下位ビット側にそれぞれ読み込まれる。
【００８１】
ＰＥそのものは９６しかないが、レジスタＲ０とレジスタＲ１の夫々に格納された１９２の画像データは、同一レジスタ上にあるので、実際の画像処理での演算は一度で実施され得る。従って、３８４画素データの演算を２ステップで実施できる。
【００８２】
フィルタ処理などの画像処理では、注目画素の隣接画素を参照する。第１の実施形態に係る画像処理方法を利用することにより、第１画像データと第２画像データの繋ぎ目付近、および第３画像データと第４画像データの繋ぎ目付近には、無効データが発生しない。更に同様に、第２画像データと第３画像データの繋ぎ目付近においても、図９に示すように、隣接データを参照することができるため、無効データは発生しない。
【００８３】
このように、第４の実施形態ではＰＥアレイの一端での有効処理範囲の減少を防ぐことができる。
【００８４】
図１０は、本発明の第４の実施形態に係るＳＩＭＤ方式プロセッサの構成図である。上述の図９に示す画像処理方法を実現する構成である。ＰＥアレイ部４の両端の部分を示している。
【００８５】
図１０に示す第４の実施形態に係るＳＩＭＤ方式プロセッサでは、図８に示す第３の実施形態に係るＳＩＭＤ方式プロセッサのＰＥアレイ部４の一端のＰＥに備えた構成を、他端のＰＥにも備えさせる。このことにより、ＰＥアレイ部４の一端では、同一レジスタの上位ビット側と下位ビット側に格納された連続する画像データを相互に参照することが可能となり、ＰＥアレイ部４の他端では、隣接レジスタの上位ビット側と下位ビット側に格納された連続する画像データを相互に参照することが可能となる。従って、画像分割による繋ぎ目の無効画素が更に減少する。但し、隣接レジスタを参照する場合は、データ処理が２ステップ必要となる。
【００８６】
《第５の実施形態》
図１１は、本発明の第５の実施形態に係るＳＩＭＤ方式プロセッサにおけるレジスタファイル１２と外部入出力８、及び画像メモリ１０のブロック図である。図１２は、本発明の第１乃至第４の実施形態に係るＳＩＭＤ方式プロセッサのＰＥアレイ部４の一部のブロック図である。なお、第５の実施形態に係るＳＩＭＤ方式プロセッサにおけるレジスタファイル１２と外部入出力８、及び画像メモリ１０は、上述の第１乃至第４の実施形態に係るＳＩＭＤ方式プロセッサに付属することを想定している。
【００８７】
図１１に示す外部入出力８は、初期ロードレジスタ７０を備えるアドレスカウンタ７４と、制御回路７２とを有する。この制御回路７２により、アドレスカウンタ７４は、アップカウンタおよびダウンカウンタとして動作する。画像メモリ１０には、画像データが水平走査方向に順序どおり並んでいる。
【００８８】
画像メモリ１０に記憶された画像データは、外部入出力８を介して、レジスタファイル１２の各ＰＥ内のレジスタに格納される。又は、レジスタファイル１２の各ＰＥ内のレジスタに格納されるデータが、やはり外部入出力８を介して、画像メモリ１０へ書き込まれる。これらの場合において、アドレスが外部入出力８からレジスタファイル１２に供給され、ＰＥを示すアドレスに一致するＰＥのレジスタにて、リード/ライトの動作が行われる。
【００８９】
ここで、レジスタファイル１２内のＰＥ数を（ＰＥ０〜ＰＥ９５の）９６個として、図１１に示すアドレスカウンタ７４の動作を説明する。画像データは、画像メモリ１０から順に転送されてくる。アドレスカウンタ７４は、最初に初期のＰＥ番号値“ＰＥ０”をロードする。この後、制御回路７２からのＵＰ信号により順次アドレスがカウントアップされる。ＰＥ数の上端の“ＰＥ９５”に到達すると、アドレスカウンタ７４は今度は到達した上端の“ＰＥ９５”を初期のＰＥ番号値としてロードする。この後、制御回路７２からのＤＯＷＮ信号により順次アドレスがカウントダウンされる。このような構成により、画像メモリ１０より順に送信されてくる画像データを、ＰＥ０からＰＥ９５への順序でも、ＰＥ９５からＰＥ０への順序でも、どちらでも格納できる。
【００９０】
図１２は、本発明の第１乃至第４の実施形態に係るＳＩＭＤ方式プロセッサのＰＥアレイ部４の一部のブロック図であり、特に、外部入出力８に接続するレジスタファイル１２内のレジスタの一部を示している。制御信号及びデータ信号には、７ビットアドレス、ハイレベル時にリード動作をローレベル時にライト動作を示すリード／ライト選択信号（上位ビット側、下位ビット側）、転送のタイミングを示すクロック、上位ビット側と下位ビット側のそれぞれ８ビットの転送データが含まれる。なお、各ＰＥにはアドレスデコード・リードライトコントロール回路７６が設けられており、アドレス、リード／ライト選択信号（上位ビット側、下位ビット側）及びクロックは、このアドレスデコード・リードライトコントロール回路７６に与えられ、アドレスデコード・リードライトコントロール回路７６はレジスタへのデータの入出力の制御を行う。
【００９１】
図１１に示すアドレスカウンタ７４からのアドレスに係る信号、及び図１２に示すリード／ライト選択信号（上位ビット側、下位ビット側）により、まず、画像データが図１２に示すレジスタに図４に示す配置のように転送される。次に、図１２に示すレジスタより、図４に示すレジスタＲ０に、ＳＩＭＤ方式プロセッサの転送命令により画像データが転送される。この転送命令は一般的な命令であり、ＳＩＭＤ方式プロセッサにとって処理時間が大きな負担になるということはない。
【００９２】
図１２では、外部入出力８に接続するレジスタは、図４に示す通常のレジスタＲ０とは別のレジスタとして示している。通常のレジスタに当たるレジスタＲ０が外部入出力８に接続されてもよい。
【００９３】
このように外部入出力８を介して画像メモリ１０からレジスタへのデータ転送を行えば、画像データを図４若しくは図９に示すような配置に転送できる。
【図面の簡単な説明】
【００９４】
【図１】一般的なＳＩＭＤ方式プロセッサ及び画像メモリの概略の構成図である。
【図２】２つのグループ（上位ビット側、下位ビット側）に、ビット分割されたＡＬＵ、レジスタ等をもつＳＩＭＤ方式プロセッサの詳細な構成例である。
【図３】図２と同じＳＩＭＤ方式プロセッサであり、特にＰＥアレイ部の一端の部分を示す。
【図４】本発明の第１の実施形態に係るＳＩＭＤ方式プロセッサを用いる画像処理方法を示す概念図である。
【図５】９６個のＰＥを備える第１の実施形態に係るＳＩＭＤ方式プロセッサで、水平走査方向に４８０画素データを処理するものとし、１回の画像処理の過程で端の画素から１６データ分が無効になるものとした場合の、処理の様子である。
【図６】本発明の第２の実施形態に係るＳＩＭＤ方式プロセッサの構成図であり、図３と同様のＰＥアレイ部の一端の部分を示している。
【図７】図６に示す本発明の第２の実施形態に係るＳＩＭＤ方式プロセッサにおける上位ビット側マルチプレクサの制御信号生成回路の概略図（図７（１））、及び下位ビット側マルチプレクサの制御信号生成回路の概略図（図７（２））の概略図である。
【図８】本発明の第３の実施形態に係るＳＩＭＤ方式プロセッサの構成図であり、図３及び図６と同様のＰＥアレイ部の一端の部分を示している。
【図９】本発明の第４の実施形態に係るＳＩＭＤ方式プロセッサを用いる画像処理方法を示す概念図である。
【図１０】本発明の第４の実施形態に係るＳＩＭＤ方式プロセッサの構成図である。
【図１１】本発明の第５の実施形態に係るＳＩＭＤ方式プロセッサにおけるレジスタファイルと外部入出力、及び画像メモリのブロック図である。
【図１２】本発明の第１乃至第４の実施形態に係るＳＩＭＤ方式プロセッサのＰＥアレイ部４の一部のブロック図であり、特に、外部入出力に接続するレジスタファイル内のレジスタの一部を示している。
【図１３】水平走査方向に４８０個の画素データが並ぶようなデータの画像処理を、９６のＰＥを備えるＳＩＭＤ方式プロセッサで処理する場合の、基本的な処理の様子である。
【図１４】９６個のＰＥを備えたＳＩＭＤ方式プロセッサにおいて、隣接データを参照する度に有効なデータ範囲が減少していく様子を示す。
【図１５】６４画素に減少した有効範囲で、水平走査方向４８０画素データの処理を行う場合の、反復処理の様子を示す。
【符号の説明】
【００９５】
２・・・ＳＩＭＤ方式プロセッサ、４・・・ＰＥアレイ部、６・・・グローバルプロセッサ、８・・・外部入出力、１０・・・画像メモリ、１４・・・演算アレイ、４０・・・演算部。
【図１】
2007073010.tif 000003
【図２】
2007073010.tif 000004
【図３】
2007073010.tif 000005
【図４】
2007073010.tif 000006
【図５】
2007073010.tif 000007
【図６】
2007073010.tif 000008
【図７】
2007073010.tif 000009
【図８】
2007073010.tif 000010
【図９】
2007073010.tif 000011
【図１０】
2007073010.tif 000012
【図１１】
2007073010.tif 000013
【図１２】
2007073010.tif 000014
【図１３】
2007073010.tif 000015
【図１４】
2007073010.tif 000016
【図１５】
2007073010.tif 000017