(57)【要約】【課題】  ブロック分割してデータ処理した結果と、ブロック分割せずにデータ処理した結果との差を低減するブロック分割方法を実現するデータ処理装置及びデータ処理方法を提供する。【解決手段】  仮想領域にマトリクス状に配置された２次元データを格納するデータ記憶装置４０と、２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び注目データを含むように処理ブロックの形状を設定するブロック設定部１１と、処理ブロックの形状情報に基づき、２次元データを複数の実行ブロックに分割する分割部１２と、実行ブロック毎に、その実行ブロックに含まれるデータを処理する処理部１３とを備える。【選択図】      図１
2006146672.tif 000002
【特許請求の範囲】
【請求項１】
仮想領域にマトリクス状に配置された２次元データを格納するデータ記憶装置と、
前記データ記憶装置から前記２次元データを読み出し、前記２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び前記注目データを含むように処理ブロックの形状を設定し、該処理ブロックの形状情報をブロック情報記憶領域に格納するブロック設定部と、
前記ブロック情報記憶領域から前記処理ブロックの形状情報を読み出し、該処理ブロックの形状情報に基づき、前記２次元データを複数の実行ブロックに分割し、該複数の実行ブロックの情報を分割情報記憶領域に格納する分割部と、
前記実行ブロック毎に、該実行ブロックに含まれるデータを行方向に逐次処理し、処理結果を前記データ記憶装置に格納する処理部
とを備えることを特徴とするデータ処理装置。
【請求項２】
前記ブロック設定部は、
位置情報記憶領域に格納された前記注目データ及び前記複数の影響データの位置情報を読み出し、前記注目データ及び前記複数の影響データの位置情報に基づき、矩形ブロックの形状を設定し、該矩形ブロックの形状を形状情報記憶領域に格納する矩形ブロック設定部と、
前記位置情報記憶領域に格納された前記注目データ及び前記複数の影響データの位置情報を読み出し、前記行方向と平行な直線と、前記注目データの位置から前記複数の影響データの位置にそれぞれ延伸する直線とがなす複数の鈍角の角度のうち最大角度を算出し、該最大角度を角度情報記憶領域に格納する算出部
とを備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ブロック情報記憶領域に格納された前記処理ブロックの形状情報を読み出し、該処理ブロックの形状情報に基づき、データ処理のアルゴリズムを修正するアルゴリズム修正部と、
前記ブロック情報記憶領域に格納された前記処理ブロックの形状情報を読み出し、前記処理ブロックの形状情報に基づき、前記実行ブロックに含まれるデータの位置を変更して、前記実行ブロックの形状を矩形に変形する変形部
とを更に備えることを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
ブロック設定部が、仮想領域にマトリクス状に配置された２次元データをデータ記憶装置から読み出し、前記２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び前記注目データを含むように処理ブロックの形状を設定し、該処理ブロックの形状情報をブロック情報記憶領域に格納するステップと、
分割部が、前記ブロック情報記憶領域から前記処理ブロックの形状情報を読み出し、該処理ブロックの形状情報に基づき、前記２次元データを複数の実行ブロックに分割し、該複数の実行ブロックの情報を分割情報記憶領域に格納するステップと、
処理部が、前記実行ブロック毎に、該実行ブロックに含まれるデータを行方向に逐次処理し、処理結果を前記データ記憶装置に格納するステップ
とを含むことを特徴とするデータ処理方法。
【請求項５】
前記処理ブロックの形状を設定するステップは、
矩形ブロック設定部が、位置情報記憶領域に格納された前記注目データ及び前記複数の影響データの位置情報を読み出し、前記注目データ及び前記複数の影響データの位置情報に基づき、矩形ブロックの形状を設定し、該矩形ブロックの形状を形状情報記憶領域に格納するステップと、
算出部が、前記位置情報記憶領域に格納された前記注目データ及び前記複数の影響データの位置情報を読み出し、前記行方向と平行な直線と、前記注目データの位置から前記複数の影響データの位置にそれぞれ延伸する直線とがなす複数の鈍角の角度のうち最大角度を算出し、該最大角度を角度情報記憶領域に格納するステップ
とを含むことを特徴とする請求項４に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に係り、特に２次元データを処理するデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
仮想領域にマトリクス状に配置された画像データ等の２次元データを処理する場合は、一般に、１行分のデータが行方向に１データずつ処理される。そして、１行分のデータ処理が終了した後、列方向に１列移って、同様に１行分のデータが行方向に１データずつ処理される。
【０００３】
画像データ処理専用ハードウェア等でデータ処理する場合、画像データ処理専用ハードウェアの内部記憶装置にすべてのデータを格納してから処理する。そのため、画像データの処理では、画像データを行方向及び列方向に分割して、複数のブロックを生成する方法が広く用いられている（例えば、特許文献１参照。）。生成された各ブロックは、ブロック毎に独立してデータ処理が行われる。ブロック分割をしない場合は、内部記憶装置の容量を、データ処理が必要な画像フレームの幅に対応させる必要がある。しかし、複数のブロックに分割してデータ処理する場合は、内部記憶装置の容量をブロックに含まれるデータ数に応じた大きさに抑制できる。
【０００４】
しかし、ブロックに分割することを考慮しないで設計されたアルゴリズムを用いて、ブロック毎にデータ処理をした場合は、以下のような問題が生じる。１つのデータの処理をしたときに、そのデータ（以下において、「注目データ」という。）を処理した結果を、他のデータの処理において考慮する場合がある。その場合、注目データを処理した結果が影響を及ぼすデータが、注目データより後に処理されるように、アルゴリズムが設計される。しかし、ブロック毎にデータ処理した場合、注目データを処理した結果の影響を受けるデータ（以下において、「影響データ」という。）が、注目データを含むブロックよりも先にデータ処理されるブロックに含まれる場合がある。このような場合、注目データを処理したことによる影響を考慮して影響データを処理することは困難である。又、先に処理されたブロックから受ける影響も考慮して、後続のブロックが処理される。しかし、後続のブロックを処理した結果を、先に処理されたブロックに反映させることは困難である。したがって、ブロック分割しないでデータ処理をした結果とブロック分割してデータ処理した結果を一致させることは難しい。
【０００５】
一方、先に処理されるブロックに含まれる影響データが受ける影響を正確に予想するために、詳細な補正演算をすると、演算量が増大する。そのため、処理速度が低下する、或いは処理結果の誤差が増大する。
【特許文献１】特開平１１−２５９６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、２次元データを処理する場合に、ブロック分割してデータ処理した結果と、ブロック分割せずにデータ処理した結果との差を低減するブロック分割方法を実現するデータ処理装置及びデータ処理方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の第１の特徴は、（イ）仮想領域にマトリクス状に配置された２次元データを格納するデータ記憶装置と、（ロ）データ記憶装置から２次元データを読み出し、２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び注目データを含むように処理ブロックの形状を設定し、その処理ブロックの形状情報をブロック情報記憶領域に格納するブロック設定部と、（ハ）ブロック情報記憶領域から処理ブロックの形状情報を読み出し、その処理ブロックの形状情報に基づき、２次元データを複数の実行ブロックに分割し、その複数の実行ブロックの情報を分割情報記憶領域に格納する分割部と、（ニ）実行ブロック毎に、その実行ブロックに含まれるデータを行方向に逐次処理し、処理結果をデータ記憶装置に格納する処理部とを備えるデータ処理装置であることを要旨とする。
【０００８】
本発明の第２の特徴は、（イ）ブロック設定部が、仮想領域にマトリクス状に配置された２次元データをデータ記憶装置から読み出し、２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び注目データを含むように処理ブロックの形状を設定し、その処理ブロックの形状情報をブロック情報記憶領域に格納するステップと、（ロ）分割部が、ブロック情報記憶領域から処理ブロックの形状情報を読み出し、その処理ブロックの形状情報に基づき、２次元データを複数の実行ブロックに分割し、その複数の実行ブロックの情報を分割情報記憶領域に格納するステップと、（ハ）処理部が、実行ブロック毎に、その実行ブロックに含まれるデータを行方向に逐次処理し、処理結果をデータ記憶装置に格納するステップとを含むデータ処理方法であることを要旨とする。
【発明の効果】
【０００９】
本発明によれば、２次元データを処理する場合に、ブロック分割してデータ処理した結果と、ブロック分割せずにデータ処理した結果との差を低減するブロック分割方法を実現するデータ処理装置及びデータ処理方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
次に、図面を参照して、本発明の第１及び第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１及び第２の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１１】
（第１の実施の形態）
本発明の第１の実施の形態に係るデータ処理装置は、図１に示すように、仮想領域にマトリクス状に配置された２次元データを格納するデータ記憶装置４０と、データ記憶装置４０から２次元データを読み出し、２次元データのうちの１つである注目データを処理することにより影響を受ける複数の影響データ及び注目データを含むように処理ブロックの形状を設定し、その処理ブロックの形状情報をブロック情報記憶領域２４に格納するブロック設定部１１と、ブロック情報記憶領域２４から処理ブロックの形状情報を読み出し、その処理ブロックの形状情報に基づき、２次元データを複数の実行ブロックに分割し、その複数の実行ブロックの情報を分割情報記憶領域２５に格納する分割部１２と、実行ブロック毎に、その実行ブロックに含まれるデータを行方向に逐次処理し、処理結果をデータ記憶装置４０に格納する処理部１３とを備える。
【００１２】
ブロック設定部１１は、検出部１１１、矩形ブロック設定部１１２、算出部１１３及び処理ブロック設定部１１４とを備える。検出部１１１は、複数の影響データの位置を検出し、注目データ及び複数の影響データの位置情報を位置情報記憶領域２１に格納する。矩形ブロック設定部１１２は、位置情報記憶領域２１に格納された注目データ及び複数の影響データの位置情報を読み出し、注目データ及び複数の影響データの位置情報に基づき、矩形ブロックの形状を設定し、その矩形ブロックの形状を形状情報記憶領域２２に格納する。算出部１１３は、位置情報記憶領域２１に格納された注目データ及び複数の影響データの位置情報を読み出し、行方向と平行な直線と、注目データの位置から複数の影響データの位置にそれぞれ延伸する直線とがなす複数の鈍角の角度のうち最大角度θｍａｘを算出し、その最大角度θｍａｘを角度情報記憶領域２３に格納する。処理ブロック設定部１１４は、形状情報記憶領域２２に格納された矩形ブロックの形状及び角度情報記憶領域２３に格納された最大角度θｍａｘを読み出し、矩形ブロックの形状及び最大角度θｍａｘに基づき、処理ブロックの形状を設定し、処理ブロックの形状情報をブロック情報記憶領域２４に格納する。
【００１３】
ブロック設定部１１、分割部１２、処理部１３及び内部記憶装置２０は、マトリクス演算装置１０に含まれる。位置情報記憶領域２１、形状情報記憶領域２２、角度情報記憶領域２３、ブロック情報記憶領域２４及び分割情報記憶領域２５は、内部記憶装置２０に含まれる。更に、内部記憶装置２０は、実行ブロック毎に２次元データが格納される処理データ記憶領域２６を備える。
【００１４】
データ処理装置は、データ記憶装置４０から、２次元データを実行ブロック単位で処理データ記憶領域２６に転送するデータ転送部３０を更に備える。又、データ処理装置は、データ処理を行うプログラム等が格納されるプログラム記憶装置５０を備える。
【００１５】
更に、データ処理装置は、入力装置６０及び出力装置７０を備える。入力装置６０はキーボード、マウス、ライトペン又はフレキシブルディスク装置等で構成される。入力装置６０より操作者は、入出力データを指定したり、プログラムを変更できる。更に、入力装置より出力データの形態等を設定することも可能で、又、データ処理の実行や中止等の指示の入力も可能である。
【００１６】
又、出力装置７０としては、データ処理の結果を表示するディスプレイやプリンタ、或いはコンピュータ読み取り可能な記録媒体に保存する記録装置等が使用可能である。ここで、「コンピュータ読み取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ等の電子データを記録することができるような媒体等を意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、カセットテープ、オープンリールテープ等が「コンピュータ読み取り可能な記録媒体」に含まれる。
【００１７】
中央演算処理装置（ＣＰＵ）９０は、マトリクス演算装置１０、データ転送部３０等の動作を制御する。マトリクス演算装置１０、データ転送部３０、データ記憶装置４０、プログラム記憶装置５０、入力装置６０、出力装置７０及びＣＰＵ９０は、バス８０に接続される。バス８０を介して、データ等が転送される。
【００１８】
先ず、図１に示したデータ処理装置で使用されるデータ処理に適用されるアルゴリズム（以下において、「処理アルゴリズム」という。）を説明する。処理アルゴリズムにより、図２に示すように仮想領域にマトリクス状に配置された２次元データ１００において、ｙ＝１のデータが行方向（ｘ方向）に１データずつ処理される。２次元データ１００は、ｘ方向にｎ個、列方向（ｙ方向）にｍ個のデータが配置された２次元データである（ｎ、ｍ：２以上の整数）。以下の説明において、ｘ＝１、ｙ＝１の位置を（１，１）とする。したがって、位置（１，１）のデータから位置（ｎ，１）のデータが順次処理される。そして、ｙ＝１のデータの処理が終了した後、ｙ＝２のデータがｘ方向に１データずつ処理される。以下同様にして、ｙ方向に移動しながらデータ処理が行われる。最後に、ｙ＝ｍの位置（１，ｍ）〜（ｎ，ｍ）のデータが処理される。
【００１９】
又、処理アルゴリズムは、２値化処理等の誤差拡散法を採用する。「誤差拡散法」は、注目データの処理によって生じた誤差を、注目データの周囲の影響データに割り振る。そして、影響データの処理において、それぞれの影響データに割り振られた誤差の影響が考慮される。誤差拡散法を処理アルゴリズムに適用した例を図３に示す。図３は、注目データＤ０と影響データＤ１〜Ｄ１２の位置を示す。図３において、位置（ｉ，ｊ）のデータが注目データＤ０である（ｉ、ｊ：１以上の整数。）。影響データＤ１〜Ｄ１２の位置は、図３において斜線で示される。位置（ｉ＋１，ｊ）が影響データＤ１、位置（ｉ＋２，ｊ）が影響データＤ２、位置（ｉ−２，ｊ＋１）が影響データＤ３、位置（ｉ−１，ｊ＋１）が影響データＤ４、位置（ｉ，ｊ＋１）が影響データＤ５、位置（ｉ＋１，ｊ＋１）が影響データＤ６、位置（ｉ＋２，ｊ＋１）が影響データＤ７、位置（ｉ−２，ｊ＋２）が影響データＤ８、位置（ｉ−１，ｊ＋２）が影響データＤ９、位置（ｉ，ｊ＋２）が影響データＤ１０、位置（ｉ＋１，ｊ＋２）が影響データＤ１１及び位置（ｉ＋２，ｊ＋２）が影響データＤ１２の位置である。
【００２０】
既に説明した処理アルゴリズムによれば、２次元データ１００全体をデータ処理する場合は、図３に示した注目データＤ０が処理された後に、影響データＤ１〜Ｄ１２が処理される。しかし、図２に示した２次元データ１００を、複数のブロックに分割した場合、影響データが複数のブロックに分散される可能性がある。図４に、２次元データ１００を８行８列のブロックに分割した例を示す。ただし、図４は、２次元データ１００の一部のみを示している。図４では、ブロックＢX-1に影響データＤ３、Ｄ４、Ｄ８及びＤ９が含まれる。そして、ブロックＢXに残りの影響データＤ１、Ｄ２、Ｄ５、Ｄ６、Ｄ７、Ｄ１０、Ｄ１１、Ｄ１２と注目データＤ０が含まれる。
【００２１】
したがって、ブロックＢX-1を処理した後に、ブロックＢXを処理する場合は、注目データＤ０が処理される前に、影響データＤ３、Ｄ４、Ｄ８及びＤ９が処理される。そのため、影響データＤ３、Ｄ４、Ｄ８及びＤ９の処理において、注目データＤ０の処理によって生じた誤差の影響を考慮することができない。つまり、図４に示したようにブロック分割した場合には、影響データＤ３、Ｄ４、Ｄ８及びＤ９の処理をした結果と、ブロック分割しない場合に影響データＤ３、Ｄ４、Ｄ８及びＤ９の処理をした結果を一致させることは難しい。
【００２２】
図１のデータ処理装置により、図２に示す２次元データ１００を処理する方法の例を、図５のフローチャートを用いて説明する。
【００２３】
（イ）図５に示すステップＳ１０において、図１に示した入力装置６０を介して、図２に示した画像データ等の２次元データ１００がデータ記憶装置４０に格納される。又、入力装置６０を介して、上記で説明したアルゴリズムを用いてデータを処理する処理プログラムがプログラム記憶装置５０に格納される。処理プログラムは、予めプログラム記憶装置５０に格納されていてもよい。
【００２４】
（ロ）ステップＳ２０において、検出部１１１が、データ記憶装置４０から２次元データ１００を読み出す。そして、検出部１１１は、２次元データ１００のうちの１つである注目データを処理することにより影響を受ける複数の影響データの位置を検出する。影響データの位置は、処理アルゴリズムによって決定される。以下において、図３に示すように、位置（ｉ，ｊ）の注目データＤ０に対して、影響データＤ１〜Ｄ１２のそれぞれの位置（ｉ＋１，ｊ）、（ｉ＋２，ｊ）、（ｉ−２，ｊ＋１）、（ｉ−１，ｊ＋１）、（ｉ，ｊ＋１）、（ｉ＋１，ｊ＋１）、（ｉ＋２，ｊ＋１）、（ｉ−２，ｊ＋２）、（ｉ−１，ｊ＋２）、（ｉ，ｊ＋２）、（ｉ＋１，ｊ＋２）及び（ｉ＋２，ｊ＋２）が検出された場合を例に説明する。注目データＤ０、及び検出された影響データＤ１〜Ｄ１２の位置情報は、位置情報記憶領域２１に格納される。
【００２５】
（ハ）ステップＳ３０において、矩形ブロック設定部１１２が、位置情報記憶領域２１に格納された注目データＤ０及び影響データＤ１〜Ｄ１２の位置情報を読み出す。そして、矩形ブロック設定部１１２は、注目データＤ０及び影響データＤ１〜Ｄ１２の位置情報に基づき、注目データＤ０及び影響データＤ１〜Ｄ１２がすべて含まれる矩形ブロックの形状を設定する。又、矩形ブロック設定部１１２は、処理データ記憶領域２６に格納可能なデータ数や、バス８０のバス幅等も考慮して、矩形ブロックの形状を設定する。矩形ブロックの形状は、例えば、図６に示すように、８行８列分のデータに相当する大きさに設定される。図６に示す矩形ブロック１１０の形状は、幅Ｗ、高さＨである。ここで、「幅Ｗ」は、ｘ方向に平行な辺の長さである。「高さＨ」はｙ方向に平行な辺の長さである。矩形ブロック１１０の形状情報は、形状情報記憶領域２２に格納される。
【００２６】
（ニ）ステップＳ４０において、算出部１１３が、位置情報記憶領域２１に格納された注目データＤ０及び影響データＤ１〜Ｄ１２の位置情報を読み出す。そして算出部１１３は、ｘ方向に平行な直線と、注目データＤ０の位置から影響データＤ１〜Ｄ１２の位置にそれぞれ延伸する直線とがなす鈍角の角度のうち、最大角度θｍａｘを算出する。図７に示すように、図３に示した例では、最大角度θｍａｘは、注目データＤ０の位置から影響データＤ３の位置に延伸する第１の直線２０１と、ｘ方向に平行な第２の直線２０２とのなす鈍角の角度になる。つまり、最大角度θｍａｘは、ｙ方向に１データ変化するときに、−ｘ方向に２データ変化する直線の傾きである。したがって、最大角度θｍａｘ＝ｄｙ／ｄｘ＝−１／２と表現できる。ここで、変化量ｄｙは注目データＤ０の位置から影響データＤ３の位置までのｙ方向のデータの変化量、変化量ｄｘは注目データＤ０の位置から影響データＤ３の位置までのｘ方向のデータの変化量である。最大角度θｍａｘは、角度情報記憶領域２３に格納される。
【００２７】
（ホ）ステップＳ５０において、処理ブロック設定部１１４が、形状情報記憶領域２２に格納された矩形ブロック１１０の形状情報及び角度情報記憶領域２３に格納された最大角度θｍａｘを読み出す。そして処理ブロック設定部１１４は、矩形ブロック１１０の形状及び最大角度θｍａｘに基づき、図８に示すように処理ブロック１２０の形状を決定する。具体的には、処理ブロック１２０の形状は、底辺の長さが矩形ブロック１１０の幅Ｗ、高さが矩形ブロック１１０の高さＨ、一方の内角が最大角度θｍａｘの平行四辺形である。処理ブロック１２０の形状情報は、ブロック情報記憶領域２４に格納される。
【００２８】
（ヘ）ステップＳ６０において、分割部１２が、ブロック情報記憶領域２４から処理ブロック１２０の形状情報を読み出す。そして、分割部１２は、処理ブロック１２０の形状情報に基づいて、図９に示すように２次元データ１００を複数の実行ブロック１２１に分割する。図９には実行ブロック１２１が１つだけ示されているが、２次元データ１００全体が複数の実行ブロック１２１に分割される。実行ブロック１２１は、ｘ方向に８データ、ｙ方向に８データを有する。又、実行ブロック１２１の外縁部のデータのｘ方向の位置は、ｙ方向に１データ変化する毎に、−ｘ方向に２データ変化する。つまり、実行ブロック１２１の外縁部のデータの位置を直線でつないだ形状は、図８に示した処理ブロック１２０の形状と同じ平行四辺形になる。図９では、２次元データ１００に含まれるデータを四角で表しているため、実行ブロック１２１のｙ方向の外縁の形状は階段状になっている。図９に示すように、注目データＤ０及び影響データＤ１〜Ｄ１２は同一の実行ブロック１２１に含まれる。又、実行ブロック１２１に含まれるデータ数は、矩形ブロック１１０に含まれるデータ数と同じである。そのため、実行ブロック１２１に含まれるデータ数は処理データ記憶領域２６に格納可能なデータ数である。２次元データ１００を分割して生成された複数の実行ブロック１２１の情報は分割情報記憶領域２５に格納される。実行ブロック１２１の情報は、それぞれの実行ブロック１２１に含まれるデータの位置情報等である。
【００２９】
（ト）ステップＳ７０において、データ転送部３０が、ブロック情報記憶領域２４に格納された複数の実行ブロック１２１の情報を読み出す。そして、データ転送部３０は、実行ブロック１２１の情報に基づき、２次元データ１００に含まれるデータを実行ブロック１２１単位で処理データ記憶領域２６に転送する。実行ブロック１２１は、例えばｘ方向に配置している順に転送される。そして、１列分の実行ブロック１２１が転送された後、ｙ方向に隣接して配置された列の実行ブロック１２１が転送される。
【００３０】
（チ）ステップＳ８０において、処理部１３が、処理データ記憶領域２６に格納された実行ブロック１２１のデータを読み出す。そして、処理部１３は、実行ブロック１２１に含まれるデータを、プログラム記憶装置５０に格納された処理プログラムに従って処理する。つまり、実行ブロック１２１において、ｙ＝ｊのデータがｘ方向に１データずつ処理される。そして、ｙ＝ｊのデータの処理が終了した後、ｙ＝ｊ＋１のデータがｘ方向に１データずつ処理される。したがって、図９に示した注目データＤ０が処理された後に、影響データＤ１〜Ｄ１２が処理される。処理された結果は、データ記憶装置４０に格納される。
【００３１】
（リ）ステップＳ９０において、データ転送部３０が、すべての実行ブロック１２１が処理されたか否かを判断する。処理されていない実行ブロック１２１がある場合は、ステップＳ７０に戻る。すべての実行ブロック１２１が処理されていれば、処理を終了する。データ記憶装置４０に格納された処理結果は、出力装置７０を介して外部に出力することができる。
【００３２】
以上に説明したように、図１に示したデータ処理装置によれば、２次元データ１００を分割した実行ブロック１２１において、注目データＤ０が処理された後に影響データＤ１〜Ｄ１２が処理される。その結果、ブロック分割してデータ処理した結果と、ブロック分割せずに処理した結果を一致させることができる。したがって、処理データ記憶領域２６の容量を、処理対象のデータの大きさに対応させる必要がない。そのため、処理データ記憶領域２６の容量をブロックに含まれるデータ数に応じた大きさに抑制できる。又、注目データより先に処理される影響データが受ける影響を予想するための補正演算をする必要がない。そのため、処理速度の低下を抑制ができる。
【００３３】
（第２の実施の形態）
本発明の第２の実施の形態に係わるデータ処理装置は、図１０に示すように、アルゴリズム修正部１４と、変形部１５とを更に備える点が図１と異なる。その他の構成については、図１に示す第１の実施の形態と同様である。
【００３４】
アルゴリズム修正部１４は、ブロック情報記憶領域２４に格納された処理ブロック１２０の形状情報を読み出す。そして、アルゴリズム修正部１４は、処理ブロック１２０の形状情報に基づき、データ処理のアルゴリズムを修正する。具体的には、最大角度θｍａｘが９０度になるように、影響データのｘ方向の位置が変更される。以下に、修正前の処理アルゴリズムによって決定される影響データの位置が、図３に示される場合を例に説明する。図５のステップＳ４０で説明したように、修正前の処理アルゴリズムでは、最大角度θｍａｘ＝ｄｙ／ｄｘ＝−１／２である。修正されたアルゴリズムでは、ｙ＝ｊの列からｙ方向に変化量ｄｙだけ離れた列の影響データが、ｄｙ×（−ｄｘ／ｄｙ）だけｘ方向にシフトされる。したがって、図３に示した影響データＤ１〜Ｄ１２の位置は、図１２に示すように変更される。図１２に示すように、注目データＤ０の位置が（ｉ，ｊ）の場合に、影響データＤ３の位置は（ｉ，ｊ＋１）、影響データＤ４の位置は（ｉ＋１，ｊ＋１）、影響データＤ５の位置は（ｉ＋２，ｊ＋１）、影響データＤ６の位置は（ｉ＋３，ｊ＋１）、影響データＤ７の位置は（ｉ＋４，ｊ＋１）、影響データＤ８の位置は（ｉ＋２，ｊ＋２）、影響データＤ９の位置は（ｉ＋３，ｊ＋２）、影響データＤ１０の位置は（ｉ＋４，ｊ＋２）、影響データＤ１１の位置は（ｉ＋５，ｊ＋２）、影響データＤ１２の位置は（ｉ＋６，ｊ＋２）である。影響データＤ１の位置（ｉ＋１，ｊ）及び影響データＤ２の位置（ｉ＋２，ｊ）は変更されない。その結果、最大角度θｍａｘが９０度になる。
【００３５】
変形部１５は、ブロック情報記憶領域２４に格納された処理ブロック１２０の形状情報を読み出す。そして、変形部１５は、処理ブロック１２０の形状情報に基づき、実行ブロック１２１に含まれるデータの位置を変更して、実行ブロック１２１の形状を矩形に変形する。
【００３６】
以下に、変形部１５が、図９に示した実行ブロック１２１を、図１３に示す矩形実行ブロック１２２に変形する例を説明する。処理ブロック１２０の最大角度θｍａｘは、ｄｙ／ｄｘ＝−１／２である。そのため、図９に示した実行ブロック１２１の外縁部のデータのｘ方向の位置は、ｙ方向に１データ変化する毎に、−ｘ方向に２データ変化する。変形部１５は、実行ブロック１２１に含まれるデータのｘ方向の位置を、以下のように変更する。先ず、実行ブロック１２１で最初に処理される列を基準列とする。図９では、基準列はｙ＝ｊの列である。次いで、基準列からｙ方向に変化量ｄｙだけ離れた列のデータのｘ方向の位置が、ｄｙ×（−ｄｘ／ｄｙ）だけｘ方向にシフトされる。その結果、図９に示した実行ブロック１２１は、図１３に示す矩形実行ブロック１２２に変形される。又、図１３に示すように、注目データＤ０と影響データＤ１〜Ｄ１２の位置は、図１２に示した修正後の処理アルゴリズムによって決定される注目データＤ０と影響データの位置対応している。
【００３７】
図１０のデータ処理装置により、図２に示す２次元データ１００を処理する方法の例を、図１１のフローチャートを用いて説明する。
【００３８】
（イ）ステップＳ１０〜ステップＳ６０まで、第１の実施の形態で説明した方法と同様にして、図９に示すように２次元データ１００が分割される。処理ブロック１２０の形状情報は、ブロック情報記憶領域２４に格納される。２次元データ１００を分割して生成された複数の実行ブロック１２１の情報は分割情報記憶領域２５に格納される。
【００３９】
（ロ）ステップＳ６５において、アルゴリズム修正部１４が、ブロック情報記憶領域２４に格納された処理ブロック１２０の形状情報を読み出す。そして、前述した方法により、最大角度θｍａｘが９０度になるように、処理アルゴリズムを修正する。処理アルゴリズムが修正された修正処理プログラムは、プログラム記憶装置５０に格納される。
【００４０】
（ハ）ステップＳ７０において、データ転送部３０が、ブロック情報記憶領域２４に格納された複数の実行ブロック１２１の情報を読み出す。そして、データ転送部３０は、実行ブロック１２１の情報に基づき、２次元データ１００に含まれるデータを実行ブロック１２１単位で処理データ記憶領域２６に転送する。
【００４１】
（ニ）ステップＳ７５において、変形部１５が、ブロック情報記憶領域２４に格納された実行ブロック１２１の情報を読み出す。そして、前述した方法により、例えば図９に示した実行ブロック１２１に含まれるデータの位置を変更して、実行ブロック１２１の形状を図１３に示した矩形実行ブロック１２２に変更する。矩形実行ブロック１２２のデータは、処理データ記憶領域２６に格納される。
【００４２】
（ホ）ステップＳ８０において、処理部１３が、処理データ記憶領域２６に格納された矩形実行ブロック１２２のデータを読み出す。そして、処理部１３は、矩形実行ブロック１２２に含まれるデータを、プログラム記憶装置５０に格納された修正処理プログラムに従って処理する。
【００４３】
（ヘ）ステップＳ９０において、データ転送部３０が、すべての矩形実行ブロック１２２が処理されたか否かを判断する。処理されていない矩形実行ブロック１２２がある場合は、ステップＳ７０に戻る。すべての矩形実行ブロック１２２が処理されていれば、処理を終了する。
【００４４】
本発明の第２の実施の形態に係るデータ処理装置によれば、矩形実行ブロック１２２に含まれるデータを処理する。矩形のブロックで処理することができるため、位置情報を記述しやすく、データ転送等が容易になる。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００４５】
上記のように、本発明は第１及び第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００４６】
つまり、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００４７】
【図１】本発明の第１の実施の形態に係るデータ処理装置の構成を示す模式図である。
【図２】本発明の第１の実施の形態に係るデータ処理方法を説明するための模式図である。
【図３】本発明の第１の実施の形態に係るデータ処理装置により設定される影響データを説明するための模式図である。
【図４】２次元データを分割した例を説明するための模式図である。
【図５】本発明の第１の実施の形態に係るデータ処理方法を説明するためのフローチャートである。
【図６】本発明の第１の実施の形態に係るデータ処理装置により設定される矩形ブロックの例を説明するための模式図である。
【図７】本発明の第１の実施の形態に係るデータ処理装置により算出される最大角度の例を説明するための模式図である。
【図８】本発明の第１の実施の形態に係るデータ処理装置により設定される処理ブロックの例を説明するための模式図である。
【図９】本発明の第１の実施の形態に係るデータ処理装置により２次元データを分割した例を説明するための模式図である。
【図１０】本発明の第２の実施の形態に係るデータ処理装置の構成を示す模式図である。
【図１１】本発明の第２の実施の形態に係るデータ処理方法を説明するための模式図である。
【図１２】本発明の第２の実施の形態に係るデータ処理装置により設定される影響データを説明するための模式図である。
【図１３】本発明の第２の実施の形態に係るデータ処理装置により設定される矩形実行処理ブロックの例を説明するための模式図である。
【符号の説明】
【００４８】
１１…ブロック設定部
１２…分割部
１３…処理部
１４…アルゴリズム修正部
１５…変形部
２１…位置情報記憶領域
２２…形状情報記憶領域
２３…角度情報記憶領域
２４…ブロック情報記憶領域
２５…分割情報記憶領域
４０…データ記憶装置
１１２…矩形ブロック設定部
１１３…算出部
【図１】
2006146672.tif 000003
【図２】
2006146672.tif 000004
【図３】
2006146672.tif 000005
【図４】
2006146672.tif 000006
【図５】
2006146672.tif 000007
【図６】
2006146672.tif 000008
【図７】
2006146672.tif 000009
【図８】
2006146672.tif 000010
【図９】
2006146672.tif 000011
【図１０】
2006146672.tif 000012
【図１１】
2006146672.tif 000013
【図１２】
2006146672.tif 000014
【図１３】
2006146672.tif 000015