(57)【要約】【課題】水平方向に１／２倍に縮小し、とびとびのプロセッサエレメント（ＰＥ）に配置された入力画素データの連続ＰＥへの移動、水平方向に２倍に拡大するため連続ＰＥに配置された入力画素データのとびとびのＰＥへの移動は、夫々１ラインの画素数相当の回数を要し時間がかかる。【解決手段】入力される複数の直列画像データをシリアル／パラレル変換器で変換して複数の並列ＰＥに供給し、複数の並列ＰＥで演算処理された並列出力画像データをパラレル／シリアル変換器で変換してシリアルに出力する画像処理装置において、複数のＰＥ中でＣ１個離れたＰＥ間でデータ転送するＣ１隣接ＰＥ接続、Ｃ２個離れたＰＥ間でデータ転送するＣ２隣接ＰＥ接続、さらにＣｍ個離れたＰＥ間でデータ転送するＣｍ隣接ＰＥ接続までを順次備え、Ｃ１〜Ｃｍは、Ｃｎ＋１がＣｎ（但しｍ＞ｎ）で割り切れる関係にあるＰＥ間接続部を備える。【選択図】図１
2008123089.tif 000002
【特許請求の範囲】
【請求項１】
入力端子から直列に入力されてくる複数の画像データをシリアル／パラレル変換器に入力して並列に変換し、上記シリアル／パラレル変換器の出力を複数のプロセッサエレメントに並列に供給し、これらのデータを上記プロセッサエレメントにて演算処理し、上記複数のプロセッサエレメントから並列に出力される演算処理された複数の画像データをパラレル／シリアル変換器に並列に入力して直列に変換し、上記パラレル／シリアル変換器の出力を出力端子から直列に出力する画像処理装置において、
上記複数のプロセッサエレメントの中でＣ１個離れたプロセッサエレメント間でデータを転送するためのＣ１隣接ＰＥ接続、Ｃ２個離れたプロセッサエレメント間でデータを転送するためのＣ２隣接ＰＥ接続、以下Ｃｍ個離れたプロセッサエレメント間でデータを転送するためのＣｍ隣接ＰＥ接続までを順次備え、上記Ｃ１〜Ｃｍは、Ｃｎ＋１がＣｎ（但しｍ＞ｎ）で割り切れる関係にあるＰＥ間接続部を備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル画像の解像度を変換処理する画像処理技術に関するものである。
【背景技術】
【０００２】
図７は例えば特開平９−２１２６３７号公報に記載されている従来の画像処理装置の構成図である。画像処理装置は、プロセッサコア２１、入力ラインバッファ３１及び出力ラインバッファ４１から構成される。プロセッサコア２１はＰＥと呼ばれる複数の処理エレメント２２（０）〜２２（２ｎ-１）から構成される。ＰＥ２２（０）〜２２（２ｎ-１）はプロセッサコア２１内に１次元並列に配置されている。隣接するＰＥとＰＥの間はＰＥ間接続２３（０）〜２３（２ｎ-２）で接続されており、隣接するＰＥ間でデータを転送することができる。
【０００３】
このように構成された画像処理装置で画像処理を行う手順は以下のとおりである。
手順Ａ−１：水平方向１ライン分の画像データを１画素ずつ入力ラインバッファ３１に入力する。
手順Ａ−２：水平方向１ライン分の画像データが入力ラインバッファ３１に入力された後に、水平方向１ライン分の画像データをＰＥ２２（０）〜２２（２ｎ-１）に同時に並列転送する。このとき１個のＰＥには１画素分のデータが格納される。
手順Ａ−３：ＰＥ２２（０）〜２２（２ｎ-１）にて水平方向１ライン分の画像データに対して画像処理を施す。
手順Ａ−４：画像処理後の水平方向１ライン分の画像データを同時に出力ラインバッファ４１に並列転送する。
手順Ａ−５：画像処理後の水平方向１ライン分の画像データは１画素ずつ出力ラインバッファ４１から直列出力される。
【０００４】
図７のように構成された１次元並列処理プロセッサで水平方向の解像度変換処理を行う手順を、図８に示す。図８は１／２倍に縮小する場合の例である。入力された画素データＩＮ０〜ＩＮ２ｎ−１は１画素ずつ順次ＰＥ２２（０）〜２２（２ｎ-１）に格納されている。
【０００５】
図８中の手順Ｂ（１）では１／２倍縮小を行うために２画素から１画素を生成する補間演算を行う。補間演算では図８に示したように画素データＩＮ０とＩＮ１から画素データＲ０を生成し、ＩＮ２とＩＮ３から画素データＲ１を生成する。このようにして生成した補間後の画素データＲ０〜Ｒｎ−１はＰＥ０、ＰＥ２、…ＰＥ２ｎ−２の１個置きのとびとびのＰＥに配置される。
【０００６】
図８中の手順Ｂ（２）ではとびとびのＰＥに配置された画素データＲ０〜Ｒｎ−１を連続したＰＥに移動する。移動には隣接するＰＥ間のＰＥ間接続を使用する。
【０００７】
次に画素データを水平方向に２倍に拡大する場合の例を説明する。
図９は水平方向に２倍に拡大する場合の例を示す。入力された画素データＩＮ０〜ＩＮｎ−１は１画素ずつＰＥに格納されている。
【０００８】
図９中の手順Ｃ（１）では連続したＰＥに配置されている画素データＩＮ０〜ＩＮｎ−１を１つ置きのとびとびにＰＥに移動する。移動には隣接するＰＥ間のＰＥ間接続を使用する。移動後の画素データＲ０〜Ｒｎ−１はそれぞれＰＥ０、ＰＥ２、…ＰＥ２ｎ−２の１つ置きのとびとびのＰＥに配置される。
【０００９】
図９中の手順Ｃ（２）では２倍拡大を行うために１画素から２画素を生成する補間演算を行う。補間演算では図９に示したように画素データＲ０からＯＵＴ０を生成し、Ｒ０とＲ１からＯＵＴ１を生成し、Ｒ１からＯＵＴ２を、Ｒ１とＲ２（図示せず）からＯＵＴ３を生成する。このようにして生成した補間後の画素データＯＵＴ０〜ＯＵＴ２ｎ−１はＰＥ０〜ＰＥ２ｎ−１の連続したＰＥに配置される。
【００１０】
図７のように構成された画像処理装置では、図８の手順Ｂ（１）で生成され、１つ置きのとびとびのＰＥ０〜ＰＥ２ｎ−２に配置された補間後の画素データＲ０〜Ｒｎ−１を連続したＰＥ０〜ＰＥｎ−１に移動する図８の手順Ｂ（２）を実行するためには図１０に示す手順Ｄ（１）〜Ｄ（ｎ−１）が必要になる。
手順Ｄ（１）では画素データＲ０のみ移動せず、他の画素データＲ１〜Ｒｎ−１は全て１つ左隣のＰＥに移動する。次に手順Ｄ（２）では画素データＲ０及びＲ１のみ移動せず、他の画素データＲ２〜Ｒｎ−１は全て１つ左隣のＰＥに移動する。
【００１１】
このように順番に１つずつ画素データを左隣のＰＥに移動し、左端のＰＥから連続して画素データが配置するように移動して行き、手順Ｄ（ｎ−１）で画素データＲｎ−１を左隣のＰＥに移動すると全ての画素データＲ０〜Ｒｎ−１を連続したＰＥに移動させることができる。このときに要する手順はｎ−１回である。
【００１２】
同様に水平方向に２倍に拡大する場合の図９に示す手順Ｃ（１）を実行するためには図１１に示した手順Ｅ（１）〜Ｅ（ｎ−１）が必要になる。
【００１３】
手順Ｅ（１）では、１画素ずつ連続したＰＥに配置されている画素データＩＮ０〜ＩＮｎ−１のうち画素データＩＮ０のみを移動せず、他の画素データＩＮ１〜ＩＮｎ−１は全て１つ右隣のＰＥに画素データを移動する。次に手順Ｅ（２）では画素データＩＮ０及びＩＮ１のみ移動せず、他の画素データＩＮ２〜ＩＮｎ−１は全て１つ右隣のＰＥに画素データを移動する。
【００１４】
このように順番に１つずつ画素データを１つ右隣のＰＥに移動していき、手順Ｅ（ｎ−１）で画素データＩＮｎ−１を右隣のＰＥに移動することで、全ての画素データＩＮ０〜ＩＮｎ−１をとびとびのＰＥに移動させることができる。このときに要する手順はｎ−１回である。
【００１５】
【特許文献１】特開平９−２１２６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
入力された画素データを水平方向に１／２倍に縮小し、縮小してとびとびのＰＥに配置された画素データを、連続するＰＥに移動する手順、及び入力された画素データを水平方向に２倍に拡大するために連続するＰＥに配置されている画素データを、とびとびのＰＥに移動する手順は、夫々共に１ラインの画素数相当の回数を要するため、非常に時間がかかるという問題がある。
【００１７】
この発明は上記従来の問題点を解決するもので、ＰＥ間での画素データの移動を高速に行うことを目的とする。
【課題を解決するための手段】
【００１８】
この発明に係る画像処理装置は、
入力端子から直列に入力されてくる複数の画像データをシリアル／パラレル変換器で並列変換して複数の並列プロセッサエレメントに並列に供給し、複数の並列プロセッサエレメントでこれらのデータを演算処理し、演算処理された複数のプロセッサエレメントからの並列出力画像データをパラレル／シリアル変換器で直列変換して出力端子から直列に出力する画像処理装置において、
上記複数のプロセッサエレメントの中でＣ１個離れたプロセッサエレメント間でデータを転送するためのＣ１隣接ＰＥ接続、Ｃ２個離れたプロセッサエレメント間でデータを転送するためのＣ２隣接ＰＥ接続、以下Ｃｍ個離れたプロセッサエレメント間でデータを転送するためのＣｍ隣接ＰＥ接続までを順次備え、上記Ｃ１〜Ｃｍは、Ｃｎ＋１がＣｎ（但しｍ＞ｎ）で割り切れる関係にあるＰＥ間接続部を備える。
【発明の効果】
【００１９】
この発明に係る画像処理装置によれば、複数の並列に並べられたプロセッサエレメント間でデータを転送するために数個置きにプロセッサエレメント間が接続され、このプロセッサエレメント間が接続される数個置きの数個の個数が異なる複数の隣接ＰＥ接続を有する隣接ＰＥ接続部を備え、とびとびのＰＥに配置された画素データを連続したＰＥに画素データを移動する場合は数個置き間に接底されたプロセッサエレメントの数個の個数が少ない隣接ＰＥ接続から、数個置き間に接底されたプロセッサエレメントの数個の個数が多い隣接ＰＥ接続を順に用いて行う手順で行い、連続したＰＥの画素データをとびとびのＰＥへ画素データを移動する場合は、数個置き間に接底されたプロセッサエレメントの数個の個数が多い隣接ＰＥ接続から、数個置き間に接底されたプロセッサエレメント数個の個数が少ない隣接ＰＥ接続を順に用いて行う手順で行うことで、移動に要する手順を大幅に削減し、処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００２０】
実施の形態１．
図１にこの実施の形態の画像処理装置の構成を示す。この実施の形態の画像処理装置１１は、従来の画像処理装置と同様にプロセッサコア２１、入力ラインバッファ３１及び出力ラインバッファ４１から構成される。プロセッサコアはＰＥと呼ばれる複数の処理エレメント（以下ＰＥと云う）２２（０）〜２２（２ｎ−１）から構成される。複数のＰＥ２２（０）〜２２（２ｎ−１）はプロセッサコア内に１次元並列に配置されている。
【００２１】
この実施の形態の画像処理装置が従来の画像処理装置と異なる点は、プロセッサコア２１内にＰＥ間接続部２４を備えていることであり、このＰＥ間接続部２４内の構成がこの発明の特徴である。
【００２２】
図２にＰＥ間接続部２４の構成を示す。各ＰＥの間はＣ１隣接ＰＥ間接続２５、Ｃ２隣接ＰＥ間接続２６、Ｃ３隣接ＰＥ間接続２７、以降Ｃｍ隣接ＰＥ間接続２８で接続されている。Ｃ１隣接ＰＥ間接続２５はＣ１個隣のＰＥ同士を接続する。図２ではＣ１＝１としている。Ｃ２隣接ＰＥ間接続２６はＣ２個隣のＰＥ同士を接続する。図２ではＣ２＝２としている。Ｃ３隣接ＰＥ間接続２７はＣ３個隣のＰＥ同士を接続する。図２ではＣ３＝４としている。接続されているＰＥ間ではデータを転送することができる。
ＰＥ間接続はＣ３以降Ｃｍまで備えられており、各接続間の関係は、Ｃｎ＋１がＣｎで割り切れる関係である必要がある。
【００２３】
次に図２に示したＰＥ間接続部２４を使用して、とびとびのＰＥに配置された画素データを連続したＰＥに移動する手順を図３に示す。
はじめに手順Ｆ（１）では画素データの順番を表す番号が奇数である画素データを１個左隣のＰＥに移動する。この移動にはＣ１隣接ＰＥ間接続２５を使用する。
手順Ｆ（２）では画素データの順番を表す番号を４で除算した時、商が整数で、その時の余りが２〜３となる画素データを２個左隣のＰＥに移動する。例えば、画素データがＲ２の場合、商が０で、余りが２となり、画素データがＲ３の場合、商が０で、余りが３となるので、これらは２個左隣のＰＥに移動する。この移動にはＣ２隣接ＰＥ間接続２６を使用する。
手順Ｆ（３）では画素データの順番を表す番号を８で除算した時、商が整数で、その時の余りが４〜７となる画素データを４個左隣のＰＥに移動する。例えば、画素データがＲ４の場合、商が０で、余りが４となるので、４個左隣のＰＥに移動する。この移動にはＣ３隣接ＰＥ間接続２７を使用する。
【００２４】
図３には手順（３）までしか記載していないが、このように手順（ｘ）ではＣｘ隣接ＰＥ間接続を使用して画素データ移動を行う。最終的に画素データが連続したＰＥに移動されるまで画素データの移動を行う。移動に要する手順は１ラインの画素データ数をｎ画素とすると、ｕｐ（ｌｏｇ２（ｎ））回で済む。ここでｕｐ（）は切り上げ関数、ｌｏｇ２（）は２を底にした対数関数である。
【００２５】
図２に示した構成及び図３に示した手順で、とびとびのＰＥに配置された画素データを連続したＰＥに画素データの移動を行うことで、移動に要する手順を大幅に削減することができる。
【００２６】
次に、図２に示したＰＥ間接続部２４を使用して、連続したＰＥに配置された画素データをとびとびのＰＥに移動する手順を図４に示す。
手順Ｇ（Ｋ−２）では画素データの順番を表す番号を８で除算した時、商が整数で、その時の余りが４〜７となる画素データを４個右隣のＰＥに移動する。例えば、画素データがＩＮ４の場合、商が０で、余りが４、画素データがＩＮ５の場合、商が０で、余りが５、画素データがＩＮ６の場合、商が０で、余りが６となるので、これらは４個右隣のＰＥに移動する。この移動にはＣ３隣接ＰＥ間接続を使用する。
手順Ｇ（Ｋ−１）では画素データの順番を表す番号を４で除算した時、商が整数で、その時の余りが２〜３となる画素データを２個右隣のＰＥに移動する。例えば、画素データがＩＮ２の場合、商が０で、余りが２、画素データがＩＮ３の場合、商が０で、余りが３となるので、これらは２個右隣のＰＥに移動する。この移動にはＣ２隣接ＰＥ間接続を使用する。
手順Ｇ（Ｋ）では画素データの順番を表す番号が奇数である画素データを１個右隣のＰＥに移動する。この移動にはＣ１隣接ＰＥ間接続を使用する。
【００２７】
図４には手順（Ｋ−２）からしか記載していないが、このように手順（ｘ）ではＣｋ−ｘ＋１隣接ＰＥ間接続を使用して画素データ移動を行う。最終的に画素データがとびとびのＰＥに移動されるまで画素データの移動を行う。移動に要する手順は１ラインの画素データ数をｎ画素とすると、ｕｐ（ｌｏｇ２（ｎ））回で済む。ここでｕｐ（）は切り上げ関数、ｌｏｇ２（）は２を底にした対数関数である。
【００２８】
図２に示した構成及び図４に示した手順で、連続したＰＥの画素データをとびとびのＰＥへ画素データの移動を行うことで、移動に要する手順を大幅に削減することができる。
【００２９】
実施の形態２．
実施の形態１ではＰＥ間接続部２４の構成は図２に示したものとしたが、ＰＥ間接続部２４の構成は図５に示した構成でも構わない。
【００３０】
各ＰＥの間はＣ１隣接ＰＥ間接続、Ｃ２隣接ＰＥ間接続及びＣ３隣接ＰＥ間接続で接続されている点は実施の形態１と同じである。この実施の形態では、Ｃ２隣接ＰＥ間接続でＣ２＝３として３個隣のＰＥ同士を接続し、Ｃ３隣接ＰＥ間接続でＣ３＝６として６個隣のＣ３個隣のＰＥ同士を接続している点が異なる。各接続間の関係が、Ｃｎ＋１がＣｎで割り切れる関係である必要がある点は実施の形態１と同じである。
【００３１】
次に図５に示したＰＥ間接続部２４を使用して、とびとびのＰＥに配置された画素データを連続したＰＥに移動する手順を図６に示す。はじめに手順Ｈ（１）では画素データの順番を表す番号を３で除算した時、商が整数で、その時の余りが１〜２となる画素データを１個左隣のＰＥに移動する。例えば、画素データがＲ１の場合、商が０で、余りが１となり、画素データがＲ２の場合、商が０で、余りが２となるので、これらは１個左隣のＰＥに移動する。この移動にはＣ１隣接ＰＥ間接続を使用する。手順Ｈ（２）では画素データの順番を表す番号を３で除算した時、商が整数で、その時の余りが２となる画素データを１個左隣のＰＥに移動する。例えば、画素データがＲ２の場合、商が０で、余りが２となり、画素データがＲ５の場合、商が１で、余りが２となるので、これらは１個左隣のＰＥに移動する。この移動にはＣ１隣接ＰＥ間接続を使用する。手順Ｈ（３）では画素データの順番を表す番号を６で除算した時、商が整数で、その時の余りが３〜５となる画素データを３個左隣のＰＥに移動する。例えば、画素データがＲ３の場合、商が０で、余りが３となり、画素データがＲ４の場合、商が０で、余りが４となり、画素データがＲ５の場合、商が０で、余りが５となるので、これらは３個左隣のＰＥに移動する。この移動にはＣ２隣接ＰＥ間接続を使用する。
【００３２】
図６には手順（３）までしか記載していないが、以降の手順ではＣ２以降の隣接ＰＥ間接続を使用して画素データ移動を行う。最終的にとびとびのＰＥに配置された画素データが連続したＰＥに移動されるまで画素データの移動を行う。図５に示した構成及び図６に示した手順で、連続したＰＥに画素データの移動を行うことで、移動に要する手順を大幅に削減することができる。
【産業上の利用可能性】
【００３３】
この発明の画像処理装置はカメラ付き携帯電話やデジタルスチルカメラ等に適用されることで、これら機器における画像の解像度変換処理を高速化できる。
【図面の簡単な説明】
【００３４】
【図１】この発明の実施の形態１の画像処理装置のブロック構成図である。
【図２】実施の形態１のＰＥ間接続部の構成図である。
【図３】実施の形態１でのとびとびのＰＥに配置された画素データを連続したＰＥに移動する手順の説明図である。
【図４】実施の形態１での連続したＰＥに配置された画素データをとびとびのＰＥに移動する手順の説明図である。
【図５】実施の形態２のＰＥ間接続部の構成図である。
【図６】実施の形態２でのとびとびのＰＥに配置された画素データを連続したＰＥに移動する手順の説明図である。
【図７】従来の画像処理装置のブロック構成図である。
【図８】従来の画像処理装置で１／２倍縮小を行う手順の説明図である。
【図９】従来の画像処理装置で２倍拡大を行う手順の説明図である。
【図１０】従来の画像処理装置でとびとびのＰＥに配置された画素データを連続したＰＥに移動する手順の説明図である。
【図１１】従来の画像処理装置で連続したＰＥに配置された画素データをとびとびのＰＥに移動する手順の説明図である。
【符号の説明】
【００３５】
１１  画像処理装置、  ２１  プロセッサコア、  ２２  ＰＥ、  ２３  隣接ＰＥ間接続、  ２４  ＰＥ間接続部、  ２５  Ｃ１隣接ＰＥ間接続、  ２６  Ｃ２隣接ＰＥ間接続、２７  Ｃ３隣接ＰＥ間接続、  ２８  Ｃｍ隣接ＰＥ間接続、  ３１  入力ラインバッファ、４１  出力ラインバッファ。
【図１】
2008123089.tif 000003
【図２】
2008123089.tif 000004
【図３】
2008123089.tif 000005
【図４】
2008123089.tif 000006
【図５】
2008123089.tif 000007
【図６】
2008123089.tif 000008
【図７】
2008123089.tif 000009
【図８】
2008123089.tif 000010
【図９】
2008123089.tif 000011
【図１０】
2008123089.tif 000012
【図１１】
2008123089.tif 000013