(57)【特許請求の範囲】
【請求項１】
２以上の出力端子を有する画像処理部と、
前記画像処理部の前記２以上の出力端子からのデータを結合し、前記画像処理部の出力端子数未満の端子から結合データを出力するデータ結合部と、
バスを調停するバス調停手段からの指示に応じて前記結合データの出力タイミングを調整する出力バッファと、
前記出力バッファから出力された前記結合データを、外部からの結合分配指示に応じて結合データのまま又は分配して前記バスに出力するデータ分配部と、を有し、
前記データ分配部は、
前記出力バッファからの結合データを分割するデータ分割部と、
前記結合分配指示に基づき、前記結合データ又は前記データ分割部にて分割された分割データのいずれかを選択出力するセレクタと、を有する、
半導体装置。
【請求項２】
２以上の出力端子を有する画像処理部と、
前記画像処理部の前記２以上の出力端子からのデータを結合した結合データを出力するデータ結合部と、
バスを調停するバス調停手段からの指示に応じて前記結合データの出力タイミングを調整するバッファであって、前記画像処理部の出力端子数未満の数の出力バッファと、
前記出力バッファから出力された前記結合データを、外部からの結合分配指示に応じて結合データのまま又は分配して前記バスに出力するデータ分配部と、を有し、
前記データ分配部は、
前記出力バッファからの結合データを分割するデータ分割部と、
前記結合分配指示に基づき、前記結合データ又は前記データ分割部にて分割された分割データのいずれかを選択出力するセレクタと、を有する、
半導体装置。
【請求項３】
前記出力バッファは、前記データ結合部の出力端子毎に設けられる
請求項１又は２記載の半導体装置。
【請求項４】
前記データ分配部は、前記結合分配指示に基づき、前記結合データ又は前記分割データのアドレスを生成するアドレス生成部を有する
請求項１乃至３のいずれか１項記載の半導体装置。
【請求項５】
前記データ分配部は、前記データ分割部で分割されたデータを所定のサイズに調整するためのデータ配信調整部を有する
請求項１乃至４のいずれか１項記載の半導体装置。
【請求項６】
前記アドレス生成部は、
基準アドレスを生成する基準アドレス生成部と、
前記基準アドレスに対してオフセットを付与するオフセット付与部と、
前記基準アドレス生成部で生成された基準アドレスか、前記オフセット付与部でオフセットを付与されたオフセットアドレスのいずれか一方を選択出力する第１のセレクタとを有する
請求項４記載の半導体装置。
【請求項７】
前記画像処理部は、１ピクセルに対して２以上の演算結果を算出し、
前記アドレス生成部は、異なるオフセット値を付与する複数種類のオフセット付与部を有し、前記基準アドレス及び前記複数のオフセット付与部により生成された複数のオフセットアドレスを、前記分割データの分割アドレスとして出力するか、前記基準アドレスを前記結合データの結合アドレスとして出力するかを選択する第２のセレクタを有する
請求項６記載の半導体装置。
【請求項８】
画像処理部により２種以上の画像データを算出する画像データ算出工程と、
前記画像データ算出工程で算出された２種以上の画像データを結合する結合工程と、
前記結合工程にて結合された結合データを１つの出力バッファに入力し、バス調停手段により出力許可があるまで当該結合データをバッファリングするバッファリング工程と、
前記出力バッファから出力許可された前記結合データについて、結合分配指示に基づき、当該結合データをそのまま、又は結合データを分配してバスへ出力するデータ分配工程と、を有し、
前記データ分配工程は、
前記出力バッファからの結合データを分割するデータ分割工程と、
前記結合分配指示に基づき、前記結合データ又は前記データ分割工程にて分割された分割データのいずれかを選択出力する出力工程と、を有する、
画像処理方法。
【請求項９】
前記データ分配工程は、前記結合分配指示に基づき、前記結合データ又は前記分割データのアドレスを生成するアドレス生成工程を有する
請求項８記載の画像処理方法。
【請求項１０】
前記アドレス生成工程では、
基準アドレスを生成し、当該基準アドレスに対してオフセットを付与してオフセットアドレスを生成し、前記基準アドレスか、前記オフセットアドレスのいずれか一方を選択出力することで、前記結合データ及び分割データのアドレスを生成する
請求項９記載の画像処理方法。
【請求項１１】
前記アドレス生成工程では、異なる値のオフセットを前記基準アドレスに付与して複数種類のオフセットアドレスを生成し、前記結合分配指示により、前記基準アドレス及び複数のオフセットアドレスを前記分割データの分割アドレスとして順次出力するか、前記基準アドレスを前記結合データの結合アドレスとして出力する
請求項１０記載の画像処理方法。
【請求項１２】
外部メモリと接続するメモリインターフェースと、
前記メモリインターフェースとバスを介して接続する半導体装置と、
前記バスの調停をするバス調停部と、
前記半導体装置を制御する汎用演算装置とを有し、
前記半導体装置は、
２以上の出力端子を有する画像処理部と、
前記画像処理部の前記２以上の出力端子からのデータを結合し、前記画像処理部の出力端子数未満の端子から結合データを出力するデータ結合部と、
バスを調停するバス調停部からの指示に応じて前記結合データの出力タイミングを調整する出力バッファと、
前記出力バッファからの前記結合データを、前記汎用演算装置からの結合分配指示に応じて結合データのまま又は分配して前記バスに出力するデータ分配部と、を有し、
前記データ分配部は、
前記出力バッファからの結合データを分割するデータ分割部と、
前記結合分配指示に基づき、前記結合データ又は前記データ分割部にて分割された分割データのいずれかを選択出力するセレクタと、を有する、
情報処理装置。
【請求項１３】
外部撮像装置に接続されるカメラインターフェースを更に有する
請求項１２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばカーナビゲーションシステム等に好適な半導体装置及び画像処理方法に関する。
【背景技術】
【０００２】
カーナビゲーション機器（以下、カーナビ）等の車載情報端末においては、より高品質なマルチメディア対応、およびグラフィックス性能が求められている。これに伴い、車載情報端末等に搭載されるSoC (System on Chip)等の半導体装置には、より高性能な画像処理機能が必要とされ、さまざまな研究開発が進められている。画像処理に関する技術としては、特許文献１、特許文献２及び特許文献３が公知である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２０４３４７号公報
【特許文献２】特開２００５−１１５２０号公報
【特許文献３】特許２８２７２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願の発明者等は、画像処理機能を有する半導体装置の開発を行う際にさまざまな課題を見出した。本願で開示される各実施の形態は、良質な画像処理機能を有する半導体装置、及び画像処理方法を提供する。
【０００５】
さらに詳細な特徴は、本明細書の記述及び添付図面によって明らかにされる。
【課題を解決するための手段】
【０００６】
本明細書に開示される一つの態様は、半導体装置を含み、当該半導体装置は出力バッファを有する。
【０００７】
本明細書に開示される他の態様は、出力バッファを有する半導体装置と、この半導体装置と外部又は内部のメモリとの間でデータのやりとりを行うバスを有する情報処理装置を含む。
【発明の効果】
【０００８】
本発明においては、良質な画像処理機能を有する半導体装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】本発明の実施の形態１にかかる半導体装置を示す概念図である。
【図１Ｂ】本発明の実施形態２にかかる半導体装置を搭載したシステムＬＳＩを示すブロック図である。
【図２】１ピクセルにつき２以上のデータが算出された場合のメモリマッピングを説明する図である。
【図３】画像処理装置、メモリ及び汎用演算装置を備えるシステムＬＳＩの一例を示す図である。
【図４】データ分配部１０４の一具体例を示す図である。
【図５】データ分割部１１１の動作について説明する図である。
【図６】出力形式が結合出力２０１形式の場合を示すタイミングチャートである。
【図７】データ分割部１１１からデータ配信調整部１１２までを示すタイミングチャートである。
【図８】本発明の実施の形態３にかかるデータ分配部１０４の詳細を示す図である。
【図９】データ分配部１０４における信号、及びバッファの値を示すタイミングチャートである。
【図１０】データ結合部１０２の構成の一例を示す図である。
【図１１】出力バッファの構成の一例を示す図である。
【図１２】出力バッファの動作を示すフローチャートである。
【図１３】（ａ）乃至（ｃ）は、画像処理部のデータ出力方法を説明する図であって、それぞれ複数のデータを出力する場合（分配出力）、複数のデータをまとめて出力する場合（結合出力）、及び分配及び結合出力のいずれにも対応させる場合を示す図である。
【発明を実施するための形態】
【００１０】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１１】
＜結合出力と分配出力＞
入力された画像に対して何らかの処理をする際、１つの画像入力に対して複数の画像出力を取得したい場合がある。例えば入力画像に対して、縦方向微分した画像と、横方向微分した画像の２つの画像を得たい場合がある。他にも、画像のコーナー検出法として知られるHarrisのコーナー検出（奥富正敏，清水雅夫，他編著、「ディジタル画像処理」、財団法人画像情報教育振興協会（ＣＧ−ＡＲＴＳ協会）出版、２００４年参照）では、１つの入力画像に対して、縦微分の二乗、横微分の二乗、及び縦微分と横微分の積、のように１つの入力画像に対して３つの出力値が、演算の中間値として必要になる。
【００１２】
図２は、１ピクセルにつき２以上のデータが算出された場合のメモリマッピングを説明する図である。このような場合、出力方式として図２に示すように、複数の出力値ａ、ｂを連続的に並べて１つの画素として出力する方式（以下、この方式での出力を結合出力（図２の２０１）という。）と、それぞれの画素を別の画像ａ、ｂとして出力する方式（以下、この方式での出力を分配出力（図２の２０２）という。）の２方式が考えられる。ここで、結合出力２０１の場合のメモリ２０３上のマッピングは２０４、分配出力２０２のメモリ２０３上のマッピングは２０５、２０６のようになる。
【００１３】
結合出力形式で生成される画像の例としては、ビットマップ画像形式のように、画素値の色成分がメモリ上にＢ（Ｂｌｕｅ）、Ｇ（Ｇｒｅｅｎ）、Ｒ（Ｒｅｄ）の順番で画素ごとに保存されているものがある。
【００１４】
上述した図２に示す結合出力２０１、分配出力２０２にはそれぞれ以下のような長所・短所がある。先ず、結合出力方式は複数（ここでは、出力するデータを２つとする。）の出力をまとめて演算する場合に有利である。図３は、画像処理装置、メモリ及び汎用演算装置を備えるシステムＬＳＩの一例を示す図である。図３に示すように、システムＬＳＩ３００は、画像処理ハードウェア３０１と、キャッシュ３０５を有する汎用演算装置３０２と、外部メモリ３０３とを有し、各ブロックがバス３０４を共有している。
【００１５】
結合出力では２つのデータが連続しているため、図３に示す汎用演算装置３０２で演算する際はキャッシュ３０５のヒット率がよく、演算効率がよい。また、画像処理ハードウェア３０１で処理する場合も、結合されて１つのデータ領域に保存されているため、入力のアドレスを制御する機構が分配出力よりも簡便に済む。たとえば図２の例の場合、分配出力は、画像データが２つの異なるアドレス領域に保存されているため、２つのアドレス制御機構が必要になる。
【００１６】
その反面、出力値の片方のみを順番に使いたい場合は、片方のみを扱いたいにも関わらず、メモリ空間に２つの出力が連続して配置されているため、一般に両方を読んでしまう。そのため、画像処理ハードウェア３０１や汎用演算装置３０２と、メモリ３０３との間のデータ転送の効率は悪化する。出力の数が増えるに従ってこの問題は大きくなる。ただし、このように、出力値の片方のみを扱いたい場合や、出力値を個別に扱いたい場合は分配出力方式の方がよいが、まとめて扱いたい場合は結合方式に比して効率が悪い。
【００１７】
そこで、本願発明者等が鋭意研究した結果、使用者の用途によって使い分けることができるよう双方の機能を実現した画像処理機能を有する半導体装置を見出した。
【００１８】
＜画像処理装置（比較例）＞
ここでは、先ず本発明の理解を容易とするため、比較例である画像処理装置のデータ出力方法について説明しておく。以下、時刻ｔで同期して画像処理部から出力される２種類のデータをａｔ、ｂｔと表記することとする。
【００１９】
図１３（ａ）乃至図１３（ｃ）は、画像処理部のデータ出力方法を説明する図であって、それぞれ複数のデータを出力する場合（分配出力）、複数のデータをまとめて出力する場合（結合出力）、及び分配及び結合出力のいずれにも対応可能な場合を示す図である。ここでは、画像処理部１３０１が１画素につき、２つの演算結果（ａ、ｂ）を算出するものとして説明する。
【００２０】
図１３（ａ）乃至図１３（ｃ）に示す画像処理部１３０１は、例えば１画素につき、各８ビットの演算結果ａ、ｂを演算して出力する。出力バッファ１３０５、１３０７、１３０９の各出力バッファは、１６ビットのバス幅を有するバスに接続され、出力データをそれぞれ１６ビットの送信単位に揃えて出力するものとする。
【００２１】
先ず、図１３（ａ）に示すように、画像処理部１３０１が演算結果をそのまま出力する場合、すなわち分配出力とする場合は、各演算結果を出力するために２つの出力バッファ１３０５、１３０７が必要になる。これに対し、図１３（ｂ）に示すように、データ結合部１３０３を有する場合は、出力データがデータ結合部１３０３にて結合データ（ａ、ｂの１６ビット）とされるため、１つの出力バッファ１３０９とすることができる。ここで、各出力バッファ１３０５、１３０７、１３０９は、１６ビットの同じバス幅のバスに出力するものであり、出力バッファのメモリ容量が同一、すなわち同一の大きさの出力バッファである。
【００２２】
ここで、上述したように、画像処理の処理内容によっては、出力データを結合出力とした方がよい場合と分配出力とした方がよい場合があり得るため、両方の出力機能を有する画像処理装置とすることが理想的である。そこで、図１３（ｃ）に示すように、データ結合部１３０３を有し、画像処理部１３０１の２出力をそのまま出力バッファ１３０５、１３０７に出力する経路（特許文献３）と、データ結合部１３０３でデータを結合して出力バッファ１３０９に出力する経路とを備えるよう構成する。
【００２３】
すなわち、分配出力に対応させるために出力の種類（数）毎にハードウェアとメモリとの間に出力バッファを設け、結合出力に対応させるために出力バッファに出力する前段に結合部を設けてデータを結合し、その後、出力バッファにその結合データを出力するような構成とすることができる。
【００２４】
この構成により、画像処理置は、分配出力も、結合出力も可能となる。しかしながら、この場合、１６ビットの同じバス幅の出力バッファを３つ必要とし、メモリ容量の増大、回路規模の増大及びコストの増大を招いてしまうという課題が生ずる。
【００２５】
＜本発明の実施の形態１＞
そこで、本願発明者等は、出力バッファを増やすことなく、結合出力方式と分配出力方式のいずれの方式であっても、処理結果を出力することができる画像処理機能を有する半導体装置を見出した。図１Ａは、本発明の実施の形態１にかかる半導体装置を示す概念図である。
【００２６】
図１Ａに示すように、半導体装置は、画像処理部１１、データ結合部１２、出力バッファ１３及びデータ分配部１４を有する。上述の図１３の画像処理部１１０１と同様に、画像処理部１１は、１画素についてａ、ｂの２つ８ビットの演算結果を出力する。データ結合部１２は、画像処理部の２つの出力端子からのデータａ、ｂを結合し、合わせて１６ビットのデータとした結合データを出力バッファ１３に出力する。出力バッファ１３は、バスを調停するバス調停手段（図示せず）からの指示に応じて結合データの出力タイミングを調整し、バス調停部からの指示に応じたタイミングで、結合データをデータ分配部１４に出力する。データ分配部１４は、出力バッファ１３からの結合データを、外部からの結合分配指示に応じて結合データのままの１６ビットのデータ又は分配して１６ビットに調整したデータをバス（図示せず）に出力する。
【００２７】
このように、画像処理部（画像処理ハードウェア）１１から出力された複数の出力結果を、一旦結合（整列）してハードウェアの後段の出力バッファ１３に転送し、出力バッファ１３からさらに後段のデータ分配部１４に転送する。そして、その結合データを、データ分配部１４により、必要に応じて結合データのまま、又は再度分割して分配データとし、バスに送出する。これにより、効率的なデータ長に調整することができ、またこれら一連の、結合・バッファリング・分割の処理を外部のメモリを仲介せずに行うため、バス帯域を使用しない。
【００２８】
すなわち、本実施の形態においては、分配出力形式や結合出力形式に関わらず、一旦複数のデータを結合して出力バッファ１３へ送出し、出力バッファ１３の後段に出力形式に従って再度分配する手段を備えることで出力バッファ１３の機構を小面積で実現することができる。さらにデータ分配部１４を備えることで、双方の出力形式による処理結果の出力ができる。さらにまた、外部のメモリを経由しないため、メモリと画像処理ハードウェア間のデータ転送量・処理時間を増大することなく、結合出力及び分割出力のいずれの形式でも出力することができる。
【００２９】
＜本発明の実施の形態２＞
次に、本発明の実施の形態２にかかる半導体装置について説明する。図１Ｂは、本発明の実施の形態２にかかる半導体装置を搭載したシステムＬＳＩを示すブロック図である。このシステムＬＳＩ１００は、例えば、カーナビゲーション（Automotivenavigationsystem）等の画像処理装置に適用することができる。
【００３０】
図１Ｂに示すように、システムＬＳＩ１００は、画像処理装置１１３、汎用演算装置１１５、カメラ１１７と接続されるカメラインターフェース部１１６、メモリ１０８と接続される外部メモリインターフェース部１０７、及び他のモジュール群１１９がバス１０６と接続されることで、相互に接続されている。図１Ｂにおいては、画像処理装置１１３及び他のモジュール群１１９は、バス１０６とはバスインターフェース部１０５を介して接続されており、データ転送のタイミングが調整される。すなわち、バス調停手段として機能する。
【００３１】
なお、汎用演算装置１１５、カメラインターフェース部１１６、及び外部メモリインターフェース部１０７にもバス１０６との間にバス調停手段を有しており、それぞれメモリ１０８へのアクセスタイミングが調停されるものとしてもよい。
【００３２】
ここで、本実施の形態における画像処理装置１１３は、２つ出力端子を有する画像処理部１０１と、画像処理部１０１の２つの出力端子からのデータを結合し、１つの端子から結合データを出力するデータ結合部１０２と、バスを調停するバス調停手段（ここでは、バスインターフェース部１０５）からの送信許可信号Ｄ１１８に応じて結合データの出力タイミングを調整する出力バッファ１０３と、出力バッファ１０３からの結合データを、外部からの結合分配指示に応じて結合データのまま又は分配してバス１０６（バスインターフェース部１０５）に出力するデータ分配部１０４とを有する。
【００３３】
ここで、画像処理部１０１の出力端子数、すなわち、演算結果として出力するデータ数は、２つに限らず、２以上であってもよい。データ結合部１０２は、画像処理部１０１からの出力データをまとめて、その出力端子数未満の結合データを生成して出力バッファ１０３に出力する。出力バッファ１０３は、データ結合部１０２の出力端子に個別に設けられるものであり、データ結合部１０２によって結合データを生成することで、その個数を削減することができる。例えば、画像処理部１０１が複雑な演算により、例えば１ピクセルに４つの処理結果を算出した場合、データ結合部１０２には４つのデータが入力されるが、これを１つの結合データとして出力すれば、出力バッファ１０３は１つでよく、２つの結合データとして出力する場合は出力バッファ１０３は２つでよく、また、３つの結合データとして出力する場合は出力バッファ１０３は３つでよくなり、いずれも、データ結合部１０２で結合データを生成することで、画像処理部１０１の４つの出力数より、出力バッファ１０３の個数を削減することができる。
【００３４】
バスインターフェース部１０５は画像処理装置１１３以外の他のモジュール群１１９とも接続しており、各モジュールの優先度の高低等を参照してバスへのデータ転送の調停役を担う。近年、このバスインターフェース部１０５、バス１０６を介してメモリ１０８と接続するモジュール数が増大しており、バスインターフェース部１０５は、例えばリアルタイム性が要求される処理を実施するモジュールの優先度を上げるなどの処理を行う。
【００３５】
ここで、このように近時のモジュールの増大に応じて、各モジュールがメモリ１０８へのデータ転送を待たされる時間も長くなっている。よって、画像処理装置１１３や他のモジュール群１１９などにおいては、この待ち時間に十分な出力バッファの容量が必要となり、回路の大型化に繋がるという課題が生ずる。しかしながら、上述したように、本実施の形態においては、データ結合部１０２が画像処理部１０１の出力データを結合して結合データとし、一の出力端子から出力するため、出力バッファ１０３は、１つでよい。さらに、これを後段のデータ分配部１０４により、データを分配又は結合のまま出力することで、結合出力形式であっても、分配出力形式であっても、出力バッファ１０３を１つ設けるのみで、出力が可能となる。
【００３６】
更に、本実施の形態は、図１Ｂの構成に限らない。例えばカメラ１１７と画像処理装置１１３が直接つながる、又はカメラ１１７を搭載した構成としてもよいし、画像処理装置１１３はバスインターフェース部１０５を介さなくてもよい。その場合は、各モジュールのバスへのデータ出力タイミングを調停する調停手段を設ければよい。
【００３７】
＜画像処理装置１１３の構成＞
次に、画像処理装置１１３の内部の構成について説明する。画像処理装置１１３は、メモリ１０８内の画像データを読み込み、画像処理部１０１で何らかの演算を施す。ここでの演算で画像処理部１０１が複数の演算結果（例えば図２のａ１とｂ１）を時間単位毎に毎回出力する時のことを考える。ここで時間単位は、例えば、画像処理部１０１の動作周波数で決まる。動作周波数が１００ＭＨｚで毎サイクル出力が可能とすると、この時間単位は１０ナノ秒である。ただし、本実施の形態の構成によれば必ずしも毎回出力しなくともよい。
【００３８】
以下に続くデータ結合部１０２、出力バッファ１０３、データ分配部１０４を経て、画像処理装置１１３は処理結果をメモリ１０８上に結合出力形式、分配出力形式のいずれかで選択的に出力する。
【００３９】
＜データ結合部１０２の構成＞
後段のデータ結合部１０２は上記の複数の演算結果を受けとり、その複数の演算結果の集合を１つの送信単位として、さらに後段の出力バッファ１０３に出力する。例えば１出力あたり８ｂｉｔとすると、時刻ｔ＝２では、ａ１，ｂ１のデータが画像処理部１０１から出力され、データ結合部１０２がａ１，ｂ１を１６ｂｉｔにまとめて、出力バッファ１０３に送信する。
【００４０】
図１０はデータ結合部１０２の構成の一例を示す図である。図１０に示すように、上記のように、８ｂｉｔのデータを１６ｂｉｔにまとめて出力する場合、データ結合部１０２は、２つのフリップフロップ１００１で構成することができる。つまり、複数のフリップフロップ１００１で複数のデータを受け取り、それをまとめ、結合データとして後段の出力バッファ１０３に出力する。
【００４１】
＜出力バッファ１０３の構成＞
次に、出力バッファ１０３について説明する。本実施の形態における出力バッファ１０３は、以下の２つの役割を有する。１つ目はバス１０６が混雑している際にＦＩＦＯ等の構成を取ることで、配信待ちをさせる役割である。この場合は、バスインターフェース部１０５からの送信許可信号Ｄ１１８を受信するなどして後段のデータ分配部１０４にデータを出力する。２つ目は、データ結合部１０２からの受け取ったデータ（以下、結合データともいう。）を、バス１０６のデータ送信単位に纏めなおす役割である。バス１０６へのデータ送信単位を３２ｂｉｔとすると、データ結合部１０２から受信した結合データを２回分まとめ、後段のデータ分配部１０４に送出する。例えば、{ａ１，ｂ１}，{ａ２，ｂ２}と受け取ったデータを{ａ１，ｂ１，ａ２，ｂ２}と３２ｂｉｔ単位にまとめて後段のデータ分配部１０４に送出する。
【００４２】
次に、この出力バッファ１０３について更に詳細に説明する。図１１は、３２ｂｉｔのデータ送信単位でデータを送受する出力バッファの構成の一例を示す図である。この出力バッファ１０３は、例えば複数のＦＩＦＯから構成することができる。そして、データ結合部１０２から流れてきた結合データ１１０３を一時的に格納し、バス１０６に送出する単位にデータ長がそろい、かつバスインターフェース部１０５から送出を許可する送信許可信号Ｄ１１８を受信すれば、そろえたデータ長で後段のデータ分配部１０４にデータ１１０４を送出する。
【００４３】
この出力バッファ１０３は、送信許可信号Ｄ１１８を受け取る結線でバスインターフェース部１０５とつながっている。そして、上記のように送信許可信号Ｄ１１８を受信すると、リードポインタ１１０１が指し示すところから３２ｂｉｔの信号を読み出し、この読みだしたデータ１１０４を後段のデータ分配部１０４に送出する。このように、出力バッファ１０３は、送信許可信号Ｄ１１８を受信するまでデータ結合部１０２から送られてくる１６ｂｉｔの結合データ１１０３を格納しておく必要がある。
【００４４】
このため、出力バッファ１０３の容量は、バス自身のデータ転送能力、画像処理装置１１３が他のモジュールに対して有するデータ転送の優先度、バスインターフェース部１０５を共有する他のモジュール群１１９が必要とするデータ転送量、その先のバス１０６を共有する他モジュールである汎用演算装置１１５、カメラインターフェース部１１６、及び外部メモリインターフェース部１０７が必要とするデータ転送量等によって決定される。例えば、３２ｂｉｔ×１２８のデータを蓄えておく必要がある場合、出力バッファ１０３の容量は５１２バイトとなる。
【００４５】
一般的には、他のモジュール群がメモリ１０８にデータを転送したり、メモリ１０８からデータを受信する間、出力バッファ１０３はメモリ１０８にアクセスすることができない。通常は、メモリ１０８を共有するモジュール群に順次アクセス許可がまわってくる。このため、バスインターフェース部１０５を共有する他のモジュール群１１９、バス１０６を共有する他のモジュールが多ければ多いほど、必要とされる出力バッファ１０３の容量は大きくなる。なお、例えばリアルタイムにデータを処理する必要がある場合などは、そのモジュールのバス１０６を使用する優先度が高くなる。
【００４６】
このように、図１１に示す出力バッファ１０３は、リードポインタ１１０１とライトポインタ１１０２を有することにより、ＦＩＦＯの役割を担う。リードポインタ１１０１は、データ１１０４が後段のデータ分配部１０４に送出されれば、その指し示す位置が３２ｂｉｔ分移動する。ライトポインタ１１０２は、データ結合部１０２から結合データ１１０３を受け取れば、その指し示す位置が１６ｂｉｔ分移動する。両ポインタ１１０１、１１０２は、バッファの終端まで読み出し又は書き込みを実施すると始端に戻るリングバッファの動きをする。
【００４７】
図１２は、出力バッファの動作を示すフローチャートである。図１２に示すように、先ず、データ結合部１０２からの結合データ１１０３を蓄積する（ステップＳ１２０１）。そして、出力バッファ１０３への送出単位まで蓄積すれば（ステップＳ１２０２：Ｙｅｓ）、送信許可信号Ｄ１１８を受信するまで待機する。その間、データ結合部１０２からの結合データ１１０３は順次蓄積されていく。そして、送信許可信号Ｄ１１８を受信すると（ステップＳ１２０３：Ｙｅｓ）、出力バッファ１０３にデータ１１０４を送出する（ステップＳ１２０４）。
【００４８】
＜データ分配部１０４の構成＞
次に、データ分配部１０４の構成について更に詳細に説明する。図１Ｂに戻って、データ分配部１０４は、アドレス生成部１０９、出力形式指定部１１０、データ分割部１１１及びデータ配信調整部１１２を有する。このデータ分配部１０４は、出力バッファ１０３からまとめられたデータを、出力形式指定部１１０で指定される出力形式、本実施の形態においては、分配出力形式又は結合出力形式、に従って整え、バスインターフェース部１０５に出力する機構を有する。
【００４９】
より詳しくは、データ分配部１０４はデータ結合部１０２で結合された結合データを、データ分割部１１１で再分割し、データ配信調整部１１２でバス１０６に出力するために適当なデータ長に再調整してバスインターフェース部１０５に出力する。
【００５０】
処理した画像データを画像処理装置１１３からメモリ１０８に出力する際は、出力先のメモリアドレスを指定する必要がある。結合出力の場合には１種類のアドレスを、また、分配出力の場合には２種類のアドレスをバスインターフェース部１０５に出力する必要がある。そのアドレスに従って、バスインターフェース部１０５は、バス１０６と外部メモリインターフェース部１０７を経由してメモリ１０８へのデータの転送をおこなう。
【００５１】
このメモリのアドレスの生成は、アドレス生成部１０９が担う。結合出力形式の際は順次送られてくる出力データに対してアドレス生成部１０９が、１つの排他的に連続したアドレスを生成する。２つ以上の出力に分配出力する方式としては、２つ以上の排他的に連続したアドレスを生成する。２つ以上のアドレスを生成するために、２以上のアドレス生成部により個々のアドレスを生成する方式、又は一方のアドレスを生成し、当該一方のアドレスに対しオフセット値を加えることで他方のアドレスを生成する方式等がある。本実施の形態においては、後者のオフセット値により他方のアドレスを生成する方法を採用する。
【００５２】
＜データ分配部１０４の具体例＞
次に、データ分配部１０４の一具体例について詳細に説明する。図４は、データ分配部１０４の一具体例を示す図である。なお、図４の説明において、ブロック又は回路間を結ぶ線については、符号の先頭に「Ｄ」を付して示す。例えば、出力バッファ１０３とセレクタ４１１とを結ぶ線はＤ４１２１で示す。さらに、Ｄ４１２１で説明すると、Ｄ４１２１は、出力バッファ１０３とセレクタ４１１とを結ぶ「結線」、当該結線上を流れる「信号」又は「データ」のいずれも表わすものとして説明する
【００５３】
先ず、出力形式指定部１１０が結合出力形式を指定する場合、出力バッファ１０３からのデータは、出力バッファ１０３から後段のセレクタ４１１に結線Ｄ４１２１を通して直接伝送される。
【００５４】
＜データ分割部１１１の具体例＞
データ分割部１１１は、内部にデータステップ分割部４０６を有する。このデータ分割部１１１は分配出力形式のための機構である。通常、データ結合部１０２のデータ、及び出力バッファ１０３で整列されたデータは、データの種類ごとに見ると飛び石（ステップ）になっている。これを２出力とする場合には、入力されたデータ列を奇数番目のデータと偶数番目のデータに分割することと等しい。このことから、本明細書においては、ステップ分割とは、出力バッファ１０３からのデータを集めて、出力の種類ごとに分割することを示すもとする。
【００５５】
次に、データ分割部１１１の動作について説明する。出力バッファ１０３から図５の５０１のように、データ列{ａ１，ｂ１，ａ２，ｂ２}が結合された１つの単位としてデータステップ分割部４０６へ入力された場合について説明する。５０１に示すデータは、結線Ｄ４１２１及びＤ４１２２を流れるデータである。後述するデータ配信調整部１１２との整合性の都合上、ａ１，ｂ１，ａ２，ｂ２はそれぞれ８ｂｉｔのデータとし、合計で３２ｂｉｔのデータとする。データステップ分割部４０６はこのデータ列を受け取り、その入力データ列を奇数番目と偶数番目のデータに分割して、データ列{ａ１，ａ２}５０４とデータ列{ｂ１，ｂ２}５０５を出力する。それぞれの出力は結線Ｄ４１２１、Ｄ４１２２を流れてバッファ４０９１，４０９２、バッファ４０９３，４０９４に入力される。
【００５６】
＜データ配信調整部１１２の具体例＞
次に、データ配信調整部１１２について説明する。データ配信調整部１１２は、バス１０６に流す既定のビット長にデータを揃えなおしてバスインターフェース部１０５に出力する手段として機能する。ここでは、上述と同じく、バス１０６に流す既定のビット長が３２ｂｉｔであるとする。４０９１〜４０９４はそれぞれ１６ｂｉｔデータを蓄えるバッファである。入出力切り替え制御部４０５は、切り替え制御信号Ｄ４０８１〜Ｄ４０８４をバッファ４０９１〜４０９４へ出力する。
【００５７】
この場合、切り替え制御信号Ｄ４０８１、Ｄ４０８３の組か、切り替え制御信号Ｄ４０８２、Ｄ４０８４の組かが、いずれかのバッファ４０９１，４０９２又は１０９３，４０９４への入力を交互に許可する。４０９５、４０９６は、それぞれ３２ｂｉｔのデータを格納可能なバッファであり、それぞれ４０９１，４０９２の組と、４０９３，４０９４の組のデータを一旦保持する。セレクタ４１０は、バッファ４０９５，４０９６が保持する値のいずれかを出力するかを選択する。この選択も、入力切り替え信号Ｄ４１４にしたがい、これによりバッファ４０９５又は４０９６のいずれか一方からその保持する値がセレクタ４１０により選択出力される。
【００５８】
本実施の形態においては、上述したように、出力データの種類ごとに出力バッファを有する構成に比べて、１つの出力バッファ１０３に、本バッファ４０９１〜４０９４を追加するだけで済むため、実装に必要な記憶素子の容量が少なくて済む。具体的には、出力バッファ１０３の容量が例えば先に示した通り５１２バイトだとすると、従来の技術では、結合出力形式、分配出力形式に対して出力バッファをそれぞれ用意する必要があり、結果、出力バッファとしての容量が１０２４バイト必要となる。
【００５９】
これに対し、本実施の形態においては、１つの出力バッファ１０３の容量（５１２バイト）に１６ｂｉｔのバッファを４つ（合計８バイト）加えた５２０バイトだけでよい。すなわち、本実施の形態においては、出力バッファ１０３として必要な記憶素子の容量を増大することなく、結合方式及び分配方式のいずれの出力も可能とすることができる。
【００６０】
セレクタ４１１は、結合出力２０１か分配出力２０２のいずれをバスインターフェース部１０５に流すかを制御する。この制御は出力形式指定部１１０の設定に従う。つまり、出力形式指定部１１０により結合出力形式が指定された場合は、データＤ４１２１を結線Ｄ４１３に出力し、分配出力形式の場合は、セレクタ４１０から送出されたデータを結線Ｄ４１３に出力する。
【００６１】
図６は、出力形式が結合出力２０１形式の場合のタイミングチャートである。行番号６００は時刻τを表す。時刻τのとき、出力バッファ１０３から流れる信号を添え字ｉ，ｊを用いて{ａｉ，ｂｉ，ａｊ，ｂｊ}(但しｉ＝２τ−１，ｊ＝２τ)と表すこととする。結合出力２０１の場合は、出力バッファ１０３から出力されたデータ列がそのまま出力される。信号６０１は、結線Ｄ４１２１を流れるデータを示し、６０２は結線Ｄ４１３を流れるデータを示す。
【００６２】
図７は、出力形式が分配出力２０２形式の場合のタイミングチャートである。７００は時刻τを示し、７０１は結線Ｄ４１２２を流れる信号（出力バッファ１０３の出力）を示す。７０２及び７０３は、それぞれデータステップ分割部４０６からの出力Ｄ４０７１及びＤ４０７２を示す。７０４は入出力切り替え制御部４０５からバッファ４０９１への信号（結線Ｄ４０８１を流れる信号）、７０５は入出力切り替え制御部４０５からバッファ４０９２への信号（結線Ｄ４０８２を流れる信号）、７０９は入出力切り替え制御部４０５からバッファ４０９３への信号（結線Ｄ４０８３を流れる信号）、７１０は入出力切り替え制御部４０５からバッファ４０９３への信号（結線Ｄ４０８３を流れる信号）を示す。
【００６３】
信号がＨｉｇｈであれば書き込み許可を、Ｌｏｗであれば書き込み不許可を与える。７０６、７０７及び７１１、７１２は、順にバッファ４０９１乃至４０９４が保持する値に対応する。また、７０８、７１３は、バッファ４０９５、４０９６が保持する値に対応する。７１４は、入力切り替え制御部４０５からセレクタ４１０に流れる信号であり結線Ｄ４１４に該当する。信号がＨｉｇｈであればバッファ４０９５のデータを、Ｌｏｗであればバッファ４０９６のデータをセレクタ４１０に出力する。
【００６４】
時刻τ＝１のとき、出力バッファ１０３からの３２ｂｉｔの信号列{ａ１，ｂ１，ａ２，ｂ２}はデータステップ分割部４０６で２つの１６ｂｉｔの信号列{ａ１，ａ２}，{ｂ１，ｂ２}に分割され、結線Ｄ４０７１（７０２参照）及びＤ４０７２（７０３参照）へそれぞれ出力される。データ{ａ１，ａ２}はバッファ４０９１及び４０９２へ送られるが、このとき、入出力切り替え制御部４０５からは結線Ｄ４０８１を通して、バッファ４０９１にのみ入力許可信号が出力される（７０４がＨｉｇｈ）ため、データ{ａ１，ａ２}は、バッファ４０９１にのみ格納される。
【００６５】
図７上では、データ{ａ１，ａ２}が時刻τ＝１では、７０６（バッファ４０９１）に格納され、７０７には反映されない。同様にデータ{ｂ１，ｂ２}がバッファ４０９３、４０９４に送られるが、７０９（結線Ｄ４０８３）、７１０（結線Ｄ４０８４）において入力が許可（Ｈｉｇｈ）されているのは、７０９（結線Ｄ４０８３）であるため、データは、バッファ４０９３（７１１に該当）にのみ格納される。
【００６６】
時刻τ＝２のとき、データステップ分割部４０６は、{ａ３，ｂ３，ａ４，ｂ４}というデータ列を出力バッファ１０３から受け取る。このデータは上記と同様、データステップ分割部４０６で{ａ３，ａ４}，{ｂ３，ｂ４}に分割され、結線Ｄ４０７１、Ｄ４０７２にそれぞれ出力される。バッファ４０９１乃至４０９４への出力に関しては、入出力切り替え制御部４０５からの信号が、上記のときと反対になり、結線Ｄ４０８２、Ｄ４０８４に流れる信号がＨｉｇｈになるため、データ{ａ３，ａ４}，{ｂ３，ｂ４}は、それぞれバッファ４０９２、４０９４に格納される。
【００６７】
データがバッファ４０９１、４０９２の組、バッファ４０９３、４０９４の組の両方ともに更新された段階で、バッファ４０９５、４０９６が更新される。バッファ４０９５の値を７０８、バッファ４０９６の値を７１３に示す。バッファ４０９５には、{ａ１，ａ２，ａ３，ａ４}が、バッファ４０９６には{ｂ１，ｂ２，ｂ３，ｂ４}が格納される。
【００６８】
次に、この組が、順次バスインターフェース部１０５へ出力される。７１４は、入力切り替え制御部４０５からセレクタ４１０に入力する信号（結線Ｄ４１４を流れる信号）を示し、７１５は、セレクタ４１１からバスインターフェース部１０５に出力される信号（結線Ｄ４１３を流れる信号）を示す。
【００６９】
入出力切り替え制御部４０５からの信号Ｄ４１４（７１４参照）の切り替えによって、分配出力２０２の場合は、順次{ａ１，ａ２，ａ３，ａ４}，{ｂ１，ｂ２，ｂ３，ｂ４}の３２ｂｉｔのデータが結線Ｄ４１３（７１５参照）経由でバスインターフェース部に出力される。具体的には、信号Ｄ４１４がＨｉｇｈの場合はバッファ４０９５のデータをセレクタ４１０からその後段のセレクタ４１１へ出力し、信号Ｄ４１４がＬｏｗであればバッファ４０９６のデータをセレクタ４１０からその後段のセレクタ４１１へ出力する。
【００７０】
＜アドレス生成部１０９の具体例＞
次に、アドレス生成部１０９について説明する。アドレス生成部１０９では、出力形式指定部１１０の設定に従って、アドレスの出力を変更する。具体的には、セレクタ４０４の選択により、結合出力２０１形式が選択された場合は、信号（結線）Ｄ４１５２を選択出力し、分配出力２０２形式が選択された場合は、出力形式指定部１１０により信号Ｄ４１５１を選択出力し、入出力切り替え制御部４０５によりＤ４１５１ａとＤ４１５１ｂを交互に選択出力することで、両方式のアドレスを生成する。
【００７１】
上述したように、本例においては、複数のアドレス出力を、ある基準となるアドレス（以下、基準アドレスという。）とその基準アドレスに対しオフセット値を与えたアドレスとで実現する。例えば、基準アドレスを１出力目の画像データのメモリアドレスとする。４０２は基準アドレス生成部であり、オフセット指定部４０１は基準アドレス生成部４０２で生成される基準アドレスに加算するオフセット値を出力する。このオフセット値を加算器４１１により基準アドレスに加算して、２出力目の画像データのアドレス（以下、オフセットアドレスという。）を生成する。ここで、オフセット指定部４０１及び加算器４１１によりオフセット付与部が構成される。
【００７２】
一方、出力形式指定部１１０の設定が結合出力２０１形式であれば、基準アドレス生成部４０２から出力されるアドレスが、第２のセレクタとしてのセレクタ４０４を介してそのままバスインターフェース部１０５に出力される（結線Ｄ４１５２）。このアドレス出力は、データ配信調整部１１２からのデータ出力に同期して行われる。このような構成により、結合出力２０１形式ではデータがバスインターフェース部１０５、バス１０６を介して、メモリ１０８に、図２の２０４が示すようなマッピングで出力される。
【００７３】
分配出力２０２形式の場合は、基準アドレス生成部４０２から出力される基準アドレスと、その基準アドレスに対してオフセット指定部４０１で指定されるオフセット値を加えたオフセットアドレスが、第１のセレクタとしてのセレクタ４０４により交互に選択出力されることで、２画像分のアドレスを生成する。例えば、上述の例では{ａ１，ａ２，ａ３，ａ４}のデータ出力に対し、基準アドレスが同期してバスインターフェース部１０５に出力され、{ｂ１，ｂ２，ｂ３，ｂ４}のデータ出力に対し、基準アドレスにオフセット値を加えたオフセットアドレスが同期してバスインターフェース部１０５に出力される。この交互の制御は入出力切り替え制御部４０５が行う。このような構成により、分配出力２０２形式でデータがバスインターフェース部１０５、バス１０６を介して、メモリ１０８に、図２の２０５及び２０６が示すようなマッピングで出力される。
【００７４】
以上、本実施の形態においては、画像処理部１１３は、分配出力２０２については、２種類のデータ出力を行う場合を例にとって説明したが、２種類以上のデータ出力がある場合であっても、画像処理部１０１から出力されるデータを結合して出力バッファ１０３に入力し、出力タイミングを調整した後、再度データを分配したり、又はそのままと出力する、本実施の形態と同様の構成とすることで、本実施の形態と同様の効果を奏する。
【００７５】
また、データ分配部１０４で出力するデータが２種類以上であった場合、例えば１つの結合データと、２つの分割データであった場合であっても、オフセット指定部４０１は、値の異なる２種類のオフセット値を生成することで、２種類のオフセットアドレスを生成することができ、図４とほぼ同様の構成で、複数種類のデータを出力することも可能である。
【００７６】
＜本発明の実施の形態３＞
次に、本発明の実施の形態３について説明する。本実施の形態においては、実施の形態２におけるデータ分配部１０４の構成を変更したものである。なお、その他の構成は実施の形態２と同様であるので説明を省略する。
【００７７】
本実施の形態においては、上述の実施の形態２の図４におけるバッファ４０９１乃至４０９６を、結合出力２０１形式と分配出力２０２形式で共有する。バッファを共有することにより、これらのバッファをバス１０６におけるデータ配信の緩衝とすることができる。
【００７８】
図８は、本実施の形態にかかるデータ分配部１０４の詳細を示す図、図９はデータ分配部１０４における信号、及びバッファの値を示すタイミングチャートである。図４に示す実施の形態２と同様、図８に示すように、データ分配部１０４は、データステップ分割部８０４（実施の形態２のデータステップ分割部４０６に対応）、及び入出力切り替え制御部８０１（実施の形態２の入出力切り替え制御部４０５に対応）を有する。アドレス生成部１０９の構成は図４に示す実施の形態２の構成と同様である。
【００７９】
ここで、本実施の形態においては、データ分割部１１１がデータ順次分割部８０２を有する。結合出力２０１形式の場合に、実施の形態２では出力バッファ１０３から出力されたデータをそのまま出力していたが、本実施の形態においては、出力バッファ１０３から出力されたデータは、データ順次分割部８０２に入力される。
【００８０】
８０６１乃至８０６４は、データ順次分割部８０２とデータステップ分割部８０４の出力のいずれかを選択するセレクタである。セレクタ８０６１乃至８０６４は、出力形式指定部１１０からの出力形式指定信号でいずれのデータを選択するかが指定され、結合出力２０１形式の場合はデータ順次分割部８０２の出力を、分配出力２０２形式の場合はデータステップ分割部８０４からの出力を選択して出力する。
【００８１】
バッファ８０８１乃至８０８４は、それぞれ図４に示すバッファ４０９１乃至４０９４に相当する。このバッファ８０８１乃至８０８４は、それぞれ１６ｂｉｔの容量を有し、入出力切り替え制御部８０１によって、バッファ８０８１乃至８０８４に対するデータの入出力が許可される。出力形式指定部１１０の設定が分配出力２０２の場合は、図４にて説明した制御と同様の制御が行われ、本実施の形態における信号Ｄ８０７１乃至信号Ｄ８０７４は、実施の形態２における信号Ｄ４０８１乃至Ｄ４０８４に該当する。また、本実施の形態におけるバッファ８０８５、８０８６は、実施の形態２における３２ｂｉｔのバッファ４０９５、４０９６に対応する。
【００８２】
セレクタ８０９の動作も、図４にて説明したセレクタ４１０の動作と同様である。このため、分配出力２０２形式におけるタイミングチャートは、図７と同様である。タイミングチャートの各信号と、図８の対応を示すと、
７０１：出力バッファ１０３からの信号Ｄ８１０
７０２、７０３：データステップ分割部８０４からの出力Ｄ８０５１、Ｄ８０５２
７０４、７０５：バッファ８０８１、８０８２への入出力切り替え制御部８０１からの信号Ｄ８０７１、Ｄ８０７２
７０６、７０７、７０８：バッファ８０８１、８０８２、８０８５が保持するデータ
７０９、７１０：バッファ８０８３、８０８４への入出力切り替え制御部８０１からの信号Ｄ８０７３、Ｄ８０７４
７１１、７１２、７１３：バッファ８０８３、８０８４、８０８６が保持するデータ
７１４：入出力切り替え制御部８０１からセレクタ８０９への信号Ｄ８１２
７１５：データ分配部１０４からバスインターフェース部１０５への結線Ｄ８１１に流れるデータ
【００８３】
次に、結合出力２０１形式の場合の構成を示す。結合出力２０１形式の場合には、データ順次分割部８０２の出力を用いる。データ順次分割部８０２では、例えば{ａ１，ｂ１，ａ２，ｂ２}と受け取ったデータを{ａ１，ｂ１}，{ａ２，ｂ２}とバッファ８０８１乃至８０８４の単位（１６ｂｉｔ）に区切って、バッファ８０８１乃至８０８４へ送出する（９０２、９０３参照）。ここでの順次分割とは、上述した{ａ１，ｂ１，ａ２，ｂ２}の並びをそのまま順番に分割していることを示す。
【００８４】
結合出力２０１形式の場合、バッファ８０８１乃至８０８４に対し、入出力切り替え制御部８０１から送られる書き込み許可信号の順番が、分配出力２０２形式のそれと異なる。書き込み許可信号は、Ｄ８０７１，Ｄ８０７２の組と、Ｄ８０７３，Ｄ８０７４の組のいずれかがＨｉｇｈとなる。つまり、セレクタ８０６１乃至８０６４からのデータは、Ｄ８０７１，Ｄ８０７２の組か、Ｄ８０７３，Ｄ８０７４の組のいずれかの組に同時に取り込まれる。バッファ８０８５は、バッファ８０８１，８０８２が両方更新された時点で、バッファ８０８６は、バッファ８０８３，８０８４が更新された時点でデータを保持する。
【００８５】
本実施の形態における結合出力２０１形式のタイミングチャートを図９に示す。図８における各信号、又はバッファの値と図９との対応を以下に示す。
９００：時刻τ
９０１：出力バッファ１０３の出力信号Ｄ８１０
９０２、９０３：信号Ｄ８０３１、Ｄ８０３２
９０４、９０５：信号Ｄ８０７１、Ｄ８０７２
９０９、９１０：信号Ｄ８０７３、Ｄ８０７４
９０６、９０７、９１１、９１２：バッファ８０８１、８０８２、８０８３、８０８４が保持する値
９０８、９１３：バッファ８０８５、８０８６が保持する値
９１４：入出力切り替え制御部８０１からセレクタ８０９への信号Ｄ８１２
９１５：セレクタ８０９より出力される信号Ｄ８１１
【００８６】
まず、時刻τ＝１において、出力バッファ１０３から{ａ１，ｂ１，ａ２，ｂ２}の信号が送出される。その信号は、データ順次分割部８０２にて{ａ１，ｂ１}，{ａ２，ｂ２}に分割され、それぞれ結線Ｄ８０３１、Ｄ８０３２に出力される（９０２、９０３を参照）。
【００８７】
｛ａ１，ｂ１｝の信号は、バッファ８０８１、バッファ８０８３に送られるが、入出力切り替え制御部８０１からの信号Ｄ８０７１、Ｄ８０７３（９０４、９０５を参照）は、信号Ｄ８０７１のみ許可となっており、バッファ８０８１にのみ｛ａ１，ｂ１｝が書き込みされる（９０６の{ａ１，ｂ１}を参照）。
【００８８】
また、｛ａ２，ｂ２｝の信号も、同様にして、バッファ８０８２にのみ書き込まれる。バッファ８０８１、８０８２のデータは取り出され３２ｂｉｔデータ｛ａ１，ｂ１，ａ２，ｂ２｝としてバッファ８０８５に書き込まれる（９０８を参照）。図９の９０８に示すタイミングチャートでは、８０８１、８０８２の双方が更新された時点でのバッファ８０８５への書き出しにはなっていないが、これは、図７に示した分配出力２０２形式のタイミングに合わせているだけであって、双方の更新が揃った時点で書き出してもよい。
【００８９】
時刻τ＝２において、出力バッファ１０３からは{ａ３，ｂ３，ａ４，ｂ４}の信号が送出される。再びその信号はデータ順次分割部８０２で{ａ３，ｂ３}，{ａ４，ｂ４}に分割され、バッファ８０８１乃至８０８４に送出されるが、今度は入力切り替え制御部８０１からの信号がバッファ８０８３、８０８４にのみ書き込み許可を与えるため、バッファ８０８３、８０８４の値が更新される（９１１、９１２を参照）。
【００９０】
その後、３２ｂｉｔ長のバッファ８０８６に、バッファ８０８３、８０８４の中身{ａ３，ｂ３，ａ４，ｂ４}が書き出される（９１３を参照）。バッファ８０８５、８０８６に保持されたデータは、信号Ｄ８１２の制御によりセレクタ８０９にていずれか一方が選択出力され、バスインターフェース部１０５に結線Ｄ８１１を通して出力される。信号Ｄ８１２は９１４に、結線Ｄ８１１を流れるデータは９１５に示すが、信号Ｄ８１２が立っていれば（Ｈｉｇｈであれば）、セレクタ８０９はバッファ８０８５のデータを選択して出力し、下がっていれば（Ｌｏｗであれば）セレクタ８０９はバッファ８０８６のデータを選択して出力する。
【００９１】
本実施の形態においても、画像処理装置１１３が１枚の画像データに対し、複数枚の画像データを算出する場合に、実施の形態１と同様に、複数の演算結果を結合して出力バッファに入力することで、出力バッファの数の増大を抑制することができる。また、結合したデータは、出力バッファの後段にデータ分配部１４を配置して分配（分割）する等すればよい。その場合、結合するデータを分割する手段、分割手段で分割したデータをバスの単位に調整するための調整手段等を設け、結合データを出力するか、分割データを出力するかをセレクタにより選択出力すればよい。また、結合データ、分割データのアドレスは、ドレス生成手段を設け、例えば基準アドレスに対しオフセットを与えてオフセットアドレスを生成し、基準アドレス及びオフセットアドレスを適宜選択出力することで、結合データや分割データを簡単に生成することができる。
【００９２】
なお、本実施の形態においては、画像処理部１０１が２種類のデータを出力する構成について説明したが、画像処理部１０１が２種類以上のデータを出力する場合や、その場合はデータ結合部１０２の出力が１以上となる場合等も本願と同様の概念を適用することで、画像処理部１０１の出力数より少ない数の出力バッファ１０３
出力を受け取る構成も同様の考え方で取ることができる。
【００９３】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００９４】
１１  画像処理部
１２  データ結合部
１３  出力バッファ
１４  データ分配部
１００  システムＬＳＩ
１０１  画像処理部
１０２  データ結合部
１０３  出力バッファ
１０４  データ分配部
１０５  バスインターフェース部
１０６  バス
１０７  外部メモリインターフェース部
１０８  メモリ
１０９  アドレス生成部
１１０  出力形式指定部
１１１  データ分割部
１１２  データ配信調整部
１１３  画像処理装置
１１５  汎用演算装置
１１６  カメラインターフェース部
１１７  カメラ
１１８  送信許可信号
１１９  他のモジュール群
２０１  結合出力
２０２  分配出力
２０３  メモリ
３０１  画像処理ハードウェア
３０２  汎用演算装置
３０３  メモリ
３０４  バス
３０５  キャッシュ
４０１  オフセット指定部
４０２  基準アドレス生成部
４０４  セレクタ
４０５  入出力切り替え制御部
４０６  データステップ分割部
Ｄ４０７１  信号（結線）
Ｄ４０７２  信号（結線）
Ｄ４０８１  信号（結線）
Ｄ４０８２  信号（結線）
Ｄ４０８３  信号（結線）
Ｄ４０８４  信号（結線）
４０９１  バッファ
４０９２  バッファ
４０９３  バッファ
４０９４  バッファ
４０９５  バッファ
４０９６  バッファ
４１０  セレクタ
４１１  セレクタ
Ｄ４１２１  信号（結線）
Ｄ４１２２  信号（結線）
Ｄ４１３  信号（結線）
Ｄ４１４  信号（結線）
Ｄ４１５１  信号（結線）
Ｄ４１５２  信号（結線）
５０１  データ列
５０２  データ列（分割出力）
５０３  データ列（分割出力）
５０４  データ列（結合出力）
５０５  データ列（結合出力）
６００  時刻τ
６０１  結線Ｄ４１２１を流れる信号
６０２  結線Ｄ４１３を流れる信号
７００  時刻τ
７０１  結線Ｄ４１２２を流れる信号（出力バッファ１０３の出力）
７０２  データステップ分割部４０６からの出力（結線Ｄ４０７１を流れる信号）
７０３  データステップ分割部４０６からの出力（結線Ｄ４０７２を流れる信号）
７０４  入出力切り替え制御部４０５からバッファ４０９１への信号（結線Ｄ４０８１を流れる信号）
７０５  入出力切り替え制御部４０５からバッファ４０９２への信号（結線Ｄ４０８２を流れる信号）
７０６  バッファ４０９１が保持する値
７０７  バッファ４０９２が保持する値
７０８  バッファ４０９５が保持する値
７０９  入出力切り替え制御部４０５からバッファ４０９３への信号（結線Ｄ４０８３を流れる信号）
７１０  入出力切り替え制御部４０５からバッファ４０９４への信号（結線Ｄ４０８４を流れる信号）
７１１  バッファ４０９３が保持する値
７１２  バッファ４０９４が保持する値
７１３  バッファ４０９６が保持する値
７１４  入力切り替え制御部４０５からセレクタ４１０に流れる信号（結線Ｄ４１４に流れる信号）
７１５  結線Ｄ４１３を流れる信号
８０１  入出力切り替え制御部
８０２  データ順次分割部
Ｄ８０３１  （データ順次分割部８０２の出力）信号（結線）
Ｄ８０３２  （データ順次分割部８０２の出力）信号（結線）
８０４  データステップ分割部
８０５−１  （データステップ分割部８０４の出力）信号（結線）
８０５−２  （データステップ分割部８０４の出力）信号（結線）
８０６−１  セレクタ
８０６−２  セレクタ
８０６−３  セレクタ
８０６−４  セレクタ
Ｄ８０７１  信号（結線）
Ｄ８０７２  信号（結線）
Ｄ８０７３  信号（結線）
Ｄ８０７４  信号（結線）
８０８１  バッファ
８０８２  バッファ
８０８３  バッファ
８０８４  バッファ
８０８５  バッファ
８０８６  バッファ
８０９  セレクタ
Ｄ８１１  信号（結線）
Ｄ８１２  信号（結線）
９００  時刻τ
９０１  結線Ｄ８１０に流れる信号
９０２  結線Ｄ８０３１に流れる信号
９０３  結線Ｄ８０３２に流れる信号
９０４  結線Ｄ８０７１に流れる信号
９０５  結線Ｄ８０７２に流れる信号
９０６  バッファ８０８１が保持する値
９０７  バッファ８０８２が保持する値
９０８  バッファ８０８５が保持する値
９０９  結線Ｄ８０７３に流れる信号
９１０  結線Ｄ８０７４に流れる信号
９１１  バッファ８０８３が保持する値
９１２  バッファ８０８４が保持する値
９１３  バッファ８０８６が保持する値
９１４  結線Ｄ８１２を流れる信号
９１５  結線Ｄ８１１を流れる信号
１１０１  リードポインタ
１１０２  ライトポインタ
１１０３  結合データ
１１０４  データ
１３０１  画像処理部
１３０３  データ結合部
１３０５  出力バッファ
１３０７  出力バッファ
１３０９  出力バッファ
【図１Ａ】
0005815390.tif 000002
【図１Ｂ】
0005815390.tif 000003
【図２】
0005815390.tif 000004
【図３】
0005815390.tif 000005
【図４】
0005815390.tif 000006
【図５】
0005815390.tif 000007
【図６】
0005815390.tif 000008
【図７】
0005815390.tif 000009
【図８】
0005815390.tif 000010
【図９】
0005815390.tif 000011
【図１０】
0005815390.tif 000012
【図１１】
0005815390.tif 000013
【図１２】
0005815390.tif 000014
【図１３】
0005815390.tif 000015