(57)【要約】【課題】画像処理を高速化させること。【解決手段】画像処理装置１は、前処理部１０と、メイン処理部３０と、を備えている。前処理部１０は、撮像装置９１から出力されるBayerデータの前処理を行うことにより前処理データを生成し、生成した前処理データを出力する。メイン処理部３０は、前処理データに基づいて画像処理を行う。【選択図】図１
2019216351.tif 000002
【特許請求の範囲】
【請求項１】
前処理部と、
メイン処理部と、
を備え、
前記前処理部は、撮像装置から出力されるBayerデータの前処理を行うことにより前処理データを生成し、生成した前記前処理データを出力し、
前記メイン処理部は、前記前処理データに基づいて画像処理を行う、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記前処理部は、前記BayerデータをＲＧＢデータに変換するＲＧＢデータ変換部と、各色の濃度を調整することにより前記ＲＧＢデータをグレースケールデータに変換するＲＧＢ−濃度変換部と、を有し、
前記ＲＧＢデータ又は前記グレースケールデータを前処理データとして出力する、
画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記前処理部は、前記Bayerデータ又は前記グレースケールデータのデータ配列を変換して配列変換データを生成するデータ配列変換部を有し、
前記ＲＧＢデータ、前記グレースケールデータ、及び前記配列変換データのいずれか１つを前処理データとして出力する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記前処理部は、前記ＲＧＢデータ、前記グレースケールデータ、及び前記配列変換データを入力とするマルチプレクサを有し、
前記マルチプレクサは、前記ＲＧＢデータ、前記グレースケールデータ、及び前記配列変換データのいずれか１つを選択し、選択したデータを前処理データとして出力する、
画像処理装置。
【請求項５】
請求項２に記載の画像処理装置において、
前記ＲＧＢ−濃度変換部は、前記ＲＧＢデータから所定個数のビットを選択し、選択ビットからなる選択ビットデータを生成するビット選択部と、前記選択ビットデータを前記所定個数より少ないビット数の前記グレースケールデータに変換する変換テーブルと、を有する、
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記ビット選択部は、２４ビットの前記ＲＧＢデータから１８ビットの前記選択ビットデータを生成し、
前記変換テーブルは、前記１８ビットの選択ビットデータから８ビットの前記グレースケールデータに変換する、
画像処理装置。
【請求項７】
請求項５に記載の画像処理装置において、
前記変換テーブルは、前記ビット選択部により選択された前記選択ビットのアドレスと、所定の変換データと、を対応させるＬＵＴ（Look Up Table）を有する、
画像処理装置。
【請求項８】
請求項５に記載の画像処理装置において、
前記ビット選択部は、被写体の色彩に応じて各色の比率を異ならせた前記選択ビットデータを生成する、
画像処理装置。
【請求項９】
請求項３に記載の画像処理装置において、
前記データ配列変換部は、２次元配列の前記グレースケールデータを１次元配列の前記配列変換データに変換する、
画像処理装置。
【請求項１０】
請求項９に記載の画像処理装置において、
前記データ配列変換部は、３×３で前記２次元配列された前記グレースケールデータを、１×９の前記１次元配列の前記配列変換データに変換する、
画像処理装置。
【請求項１１】
請求項１に記載の画像処理装置において、
前記前処理部と前記メイン処理部との間にデータ重畳部を備え、
前記データ重畳部は、前記Bayerデータと前記前処理データとを重畳した重畳データを前記メイン処理部へ出力する、
画像処理装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の前記前処理部を備えた、
撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び撮像装置に関する。
【背景技術】
【０００２】
画像処理装置は、撮像装置から送信されるBayerデータに対して画像処理を行うことで画像処理データを生成する。このような画像処理では、例えば、（１）BayerデータからＲＧＢデータへの変換、（２）ＲＧＢデータからグレースケールデータへの変換、（３）グレースケールデータから画像処理データへの変換等の各処理が行われる。
【０００３】
また、特許文献１には、ＲＡＷデータ圧縮処理部は、多ビットにより形成される複数種の情報データを含む入力データを、同種の情報データごとに複数のグループに区分けするデータ区分け部と、データ区分け部で区分けされた各グループにおける情報データの最大値を抽出する最大値抽出部と、最大値抽出部で抽出された最大値を基に、グループ内の同種の情報データで共通のビットの削減位置を決定し、この決定に応じて共通のビットを削減するビット削減位置決定部とを有するデータ処理装置が開示されている。これにより、処理時間および回路規模の増大を抑止しつつ画質劣化を抑止することが可能とされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２２２４５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの画像処理は、主にＣＰＵ（Central Processing Unit）で実行される。しかし、メモリアクセスが頻繁に行われる等、非効率な処理が行われるため、画像処理に要する時間が長くなってしまうという問題がある。
【０００６】
本発明は、上述した従来技術における問題点に鑑みてなされたものであり、画像処理を高速化させることを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００８】
本発明の代表的な実施の形態による画像処理装置は、前処理部と、前処理部の後段に設けられるメイン処理部と、を備えている。前処理部は、撮像装置から出力されるBayerデータを前処理した前処理データを生成し、生成した前処理データをメイン処理部へ出力する。メイン処理部は、前処理データに基づいて画像処理を行う。
【発明の効果】
【０００９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１０】
すなわち、本発明の代表的な実施の形態によれば、画像処理を高速化させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係る画像処理装置の構成の一例を示す図である。
【図２】前処理部の構成の詳細を示す図である。
【図３】ビット選択部における選択ビットの例を示す図である。
【図４】変換テーブルの構成の具体例を示す図である。
【図５】ＲＧＢ−濃度変換設定画面の一例を示す図である。
【図６】データ配列変換の例を示す図である。
【図７】データ重畳部２０の動作例を説明する図である。
【図８】本発明の実施の形態２に係る画像処理装置の構成の一例を示す図である。
【図９】本発明の実施の形態３に係る有効ビットの自動選択方法の一例を示すフローチャート図である。
【図１０】有効ビットの自動選択の一例を示す図である。
【図１１】本発明の実施の形態４に係る撮像装置の構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態の例を、図面を用いて説明する。なお、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって、適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成されてもよい。
【００１３】
（実施の形態１）
＜画像処理装置の構成＞
図１は、本発明の実施の形態１に係る画像処理装置の構成の一例を示す図である。図１に示すように、画像処理装置１は、前処理部１０、データ重畳部２０、メイン処理部３０を備えている。また、図１には、撮像装置（カメラ）９１、カメラＩ／Ｆ９３、ストレージ９５も併せて示されている。カメラＩ／Ｆ９３は、入力端が撮像装置９１と接続され、出力端が前処理部１０の入力端及びデータ重畳部２０の第１入力端と接続されている。
【００１４】
カメラＩ／Ｆ９３は、撮像装置９１から出力されるBayerデータを入力し、前処理部１０及びデータ重畳部２０へ出力する。撮像装置９１は、例えば、８ビットのBayerデータを出力する。図１において、例えば、撮像装置９１を除く各機能ブロックは、同一の画像処理ボードに搭載される。
【００１５】
＜＜前処理部＞＞
図２は、前処理部の構成の詳細を示す図である。前処理部１０は、Bayerデータの前処理を行う機能ブロックである。前処理部１０は、図２に示すように、ＲＧＢデータ変換部１１、ＲＧＢ−濃度変換部１３、データ配列変換部１５、マルチプレクサ１７を備えている。前処理部１０は、例えば、ＦＰＧＡ（field-programmable gate array）により構成される。また、前処理部１０は、カメラＩ／Ｆ９３及び後述するデータ重畳部２０とともに同一基板上のＦＰＧＡにより構成されてもよい。
【００１６】
＜＜＜ＲＧＢデータ変換部＞＞＞
ＲＧＢデータ変換部１１の入力端は、カメラＩ／Ｆ９３の出力端と接続されている。また、ＲＢＧデータ変換部１１の出力端は、ＲＧＢ−濃度変換部１３の入力端及びマルチプレクサ１７の第１入力端と接続されている。ＲＧＢデータ変換部１１は、BayerデータをＲＧＢデータに変換する機能ブロックである。ＲＧＢデータ変換部１１は、例えば、Bayerデータを２４ビット（３色×８ビット）のＲＧＢデータに変換する。ＲＧＢデータ変換部１１は、ＲＧＢデータ（ＤＡＴＡ１）を、ＲＧＢ−濃度変換部１３及びマルチプレクサ１７へ出力する。
【００１７】
＜＜＜ＲＧＢ−濃度変換部＞＞＞
ＲＧＢ−濃度変換部１３は、ＲＧＢデータをグレースケールのデータに変換する処理を行う。ＲＧＢ−濃度変換部１３の出力端は、マルチプレクサ１７の第２入力端、及びデータ配列変換部１５の第２入力端と接続されている。ＲＧＢ−濃度変換部１３は、ＲＧＢ各色の濃度を調整することにより、ＲＧＢデータをグレースケールデータに変換し、生成したグレースケールデータ（ＤＡＴＡ２）をマルチプレクサ１７へ出力する機能ブロックである。ＲＧＢ−濃度変換部１３は、図２に示すように、ビット選択部１３ａ、変換テーブル（ＬＵＴ）１３ｂを備えている。ビット選択部１３ａの入力端は、ＲＧＢデータ変換部１１の出力端と接続されている。ビット選択部１３ａの出力端は、変換テーブル１３ｂの入力端と接続されている。変換テーブル１３ｂの出力端は、データ配列変換部１５の入力端及びマルチプレクサ１７の第２入力端と接続されている。
【００１８】
ビット選択部１３ａは、ＲＧＢデータから所定個数のビットを選択した選択ビットデータを生成する機能ブロックである。ビット選択部１３ａは、被写体の色彩に応じて各色の比率を異ならせた選択ビットデータを生成する。例えば、ビット選択部１３ａは、２４ビットのＲＧＢデータから１８ビットを有効ビットとして選択し、選択した有効ビットから選択ビットデータを生成する。
【００１９】
具体的には、赤味を強調したい被写体であれば、ビット選択部１３ａは、赤色（Ｒ）のビット数を多くし、それ以外の緑色（Ｇ）や青色（Ｇ）のビット数を少なくして、総ビット数が所定個数（例えば１８ビット）となるよう、ビットが選択されればよい。他の色味が強い場合についても同様である。
【００２０】
図３は、ビット選択部における選択ビットの例を示す図である。図３には、３つの例が示されている。図３の１〜２は、いずれも各色のビット数が６ビットで同数の場合の例を示している。まず、１の例では、各色の上位６ビット、Ｒ［７：２］、Ｇ［７：２］、Ｂ［７：２］が選択されている。この例では、各色における色味の強い部分がそれぞれ選択されている。次に、２の例では、各色の下位６ビット、Ｒ［５：０］、Ｇ［５：０］、Ｂ［５：０］が選択されている。この例では、各色における色味の抑えられた部分がそれぞれ選択されている。
【００２１】
そして、３の例では、赤色（Ｒ）が全８ビットＲ［７：０］、緑色（Ｇ）及び青色（Ｂ）の上位５ビットＧ［７：３］、Ｂ［７：３］がそれぞれ選択されている。この例では、赤味が強調されるように各色のビットが選択されている。このようにして、これ以降の処理におけるデータのビット数を削減し、処理されるデータ量を低減する。
【００２２】
変換テーブル１３ｂは、ビット選択部１３ａで生成された選択ビットデータを所定個数より少ないビット数のグレースケールデータに変換する。例えば、変換テーブル１３ｂは、１８ビットの選択ビットデータを８ビットのグレースケールデータに変換する。変換テーブル１３ｂは、例えば、ＳＲＡＭ（Static Random Access Memory）の一種であるＤＰＲＡＭ（Dual Ported RAM）で構成されている。そして、ＤＰＲＡＭには、ＬＵＴ（Look up Table）が格納されている。ＬＵＴは、ビット選択部１３ａにより選択された選択ビットのアドレスを所定のデータ（グレースケールデータ）に変換するテーブルである。
【００２３】
図４は、変換テーブルの構成の具体例を示す図である。図４（ａ）は、ＤＰＲＡＭの入出力の具体例を示す図である。図４（ｂ）は、ＬＵＴの具体例を示す図である。図４（ｃ）は、変換データを異ならせたときの変換前データと変換後データとを対比させた図である。
【００２４】
図４（ａ）に示すように、ＤＰＲＡＭの入力側には、PortＡ及びPortＢが設けられている。PortＡは、例えば、後述するメイン処理部のＣＰＵバスと接続されており、ＬＵＴを構成する変換データの設定等に用いられる。PortＢは、ビット選択部１３ａと接続され、選択ビットデータの入力等に用いられる。ＤＰＲＡＭの出力側には、DoutＡ及びDoutＢが設けられている。これらのうちDoutＢからは、ＬＵＴにより変換されたグレースケールデータが出力される。
【００２５】
図４（ｂ）に示すように、ＬＵＴは、ＲＧＢデータの各ビットのアドレスと、アドレスごとに設定される所定の変換データと、を対応させたテーブルである。すなわち、ＲＧＢデータが２４ビットであるとすれば、ＬＵＴには、ビットごとに２４種類の変換データが設定される。
【００２６】
例えば、図４（ｂ）に示すように、アドレス「０ｘ０００００」、「０ｘ００００２」、「０ｘ３ＦＦＦＣ」のビットが選択されたとすれば、それぞれのアドレスは、所定の変換データ「０ｘ０１」、「０ｘ０３」、「０ｘＦＣ」に変換される。このように、変換テーブル１３ｂにおいて、ビット数の少ないデータに変換される。なお、変換データは、ＣＰＵから任意に設定可能である。図４（ｃ）に示すように、変換データに応じて、変換後のデータはそれぞれ異なるが、変換後のデータのビット数は同一（例えば８ビット）である。
【００２７】
図５は、ＲＧＢ−濃度変換設定画面の一例を示す図である。このＲＧＢ−濃度変換設定画面は、例えば、後述するメイン処理部の映像出力Ｉ／Ｆと接続される外部モニタ（図示は省略）に表示される。
【００２８】
ＲＧＢ−濃度変換設定画面には、例えば、変換前画像データ表示領域、変換後画像データ表示領域、ＲＧＢ有効ビット設定領域、変換テーブル設定領域等が表示される。
【００２９】
ＲＧＢ有効ビット設定領域には、２４ビットから有効な１８ビットを選択するための、各色のビット選択画面が表示される。変換前画像データ表示領域には、ＲＧＢ−濃度変換前の２４ビットの画像データが表示される。すなわち、変換前画像データ表示領域には、ＲＧＢ−濃度変換をシミュレートするための画像データが表示される。ここで表示される画像データはＲＧＢデータに基づいているため、カラー表示である。なお、参照ボタンにより画像データの選択が可能である。
【００３０】
一方、変換後画像データ表示領域には、ＲＧＢ−濃度変換後の８ビットの画像データが表示される。すなわち、変換後画像データ表示領域には、ＲＧＢ有効ビット設定領域において選択されたビットに基づくＲＧＢ−濃度変換シミュレート後の画像データが表示される。ここで表示される画像データは、グレースケール表示である。なお、更新ボタンによりＲＧＢ−濃度変換が実行される。
【００３１】
ＲＧＢ有効ビット設定領域には、２４ビットから有効な１８ビットを選択するための各色のビット選択画面が表示される。Ａｕｔｏボタンが押されると、変換前画像データ（例えば２４ビット）の色分布の解析が自動で行われ、解析結果に基づき最適な有効ビットが選択される。
【００３２】
変換テーブル設定領域には、ＲＧＢ−濃度変換用の変換テーブルが設定される。例えば、「プリセット１〜３」が選択されると、あらかじめ設定された変換テーブルが選択状態となり、選択された変換テーブルに基づくＲＧＢ−濃度変換が実行される。一方、ユーザセットボタンにより「ユーザセット」が選択されると、ユーザ独自の変換テーブル設定画面が表示され、ユーザにより設定された変換テーブルに基づくＲＧＢ−濃度変換が実行される。
【００３３】
ＲＧＢ−濃度変換設定画面の上部には、保存ボタン及び取消ボタンが設けられる。保存ボタンが押されると、有効ビットや変換テーブルの設定が保存される。また、保存処理終了後、上位画面に遷移されてもよい。取消ボタンが押されると、これらの設定は保存されない。また、取消処理終了後、上位画面に遷移されてもよい。
【００３４】
＜＜＜データ配列変換部＞＞＞
図２に示すように、データ配列変換部１５の第１入力端は、カメラＩ／Ｆ９３の出力端と接続されている。データ配列変換部１５の第２入力端は、変換テーブル１３ｂの出力端と接続されている。データ配列変換部１５の出力端は、マルチプレクサ１７の第３入力端と接続されている。
【００３５】
データ配列変換部１５は、グレースケールデータやBayerデータのデータ配列を変換して配列変換データを生成する機能ブロックである。例えば、データ配列変換部１５は、２次元配列のグレースケールデータを１次元配列の配列変換データに変換する。また、データ配列変換部１５は、２次元配列のBayerデータを１次元配列の配列変換データに変換してもよい。なお、データ配列変換部１５は、グレースケールデータ等のデータ配列を変換するのみで、データ配列変換前後において、データのビット数は変動しない。すなわち、例えば、変換前に８ビットのグレースケールデータ又はBayerデータは、変化後も８ビットの配列変換データとなる。データ配列変換部１５は、変換後の１次元配列の配列変換データ（ＤＡＴＡ３）をマルチプレクサ１７へ出力する。
【００３６】
図６は、データ配列変換の例を示す図である。図６には、「３×３コンボリューション高速化支援フォーマット」、「Bayerデータ変換高速化支援フォーマット」の例がそれぞれ示されている。「３×３コンボリューション高速化支援フォーマット」では、例えば、３×３の２次元配列のグレースケールデータを１×９の１次元配列のグレースケールデータ（配列変換データ）に変換する。
【００３７】
具体的に、図６の変換前データの左上の３×３の２次元データを例にして説明する。なお、各ビットには番号が振られている。データ配列変換部１５は、まず左列にある「１」「１６」「３１」番のビットを選択し、これらのビットデータを横方向に順次配列する。次に、データ配列変換部１５は、中列にある「２」「１７」「３２」番のビットを選択し、これらのビットデータを、「３１」番のビットデータの後に順次配列する。そして、データ配列変換部１５は、右列にある「３」「１８」「３３」番のビットを選択し、これらのビットデータを、「３２」番のビットデータの後に順次配列する。このように、データ配列変換部１５は、最初の３×３の２次元配列のデータを１次元配列のデータに変換する。
【００３８】
そして、データ配列変換部１５は、３×３の２次元データを順次選択し、直前のビットデータの後に変換後のビットデータを順次配列する。このように、データ配列変換部１５は、すべての３×３の２次元配列のデータを１次元配列のデータに変換する。
【００３９】
次に、「Bayerデータ変換高速化支援フォーマット」について説明する。「Bayerデータ変換高速化支援フォーマット」は、Bayerデータのデータ配列が変換される。このように、データ配列変換部１５は、Bayerデータのデータ配列を変換してもよい。「３×３コンボリューション高速化支援フォーマット」では、１列ごとにビットデータを１次元配列のデータに変換されていたが、「Bayerデータ変換高速化支援フォーマット」では、１行ごとにビットデータを１次元配列のデータに変換される。
【００４０】
具体的には、データ配列変換部１５は、上段（第１列）にある「１Ｇ」「１Ｒ」「２Ｇ」番のビットを選択し、これらのビットデータを横方向に順次配列する。なお、数字に付加されている記号は、各ビットの色を示している。次に、データ配列変換部１５は、中段（第２行）にある「１Ｂ」「７Ｇ」「２Ｂ」番のビットを選択し、これらのビットデータを、「２Ｇ」番のビットデータの後に順次配列する。そして、データ配列変換部１５は、下段（第３行）にある「１３Ｇ」「７Ｒ」「１４Ｇ」番のビットを選択し、これらのビットデータを、「２Ｂ」番のビットデータの後に順次配列する。以下の処理は、同様であるので説明を省略する。なお、「３×３コンボリューション高速化支援フォーマット」により、Bayerデータのデータ配列が変換されてもよいし、「Bayerデータ変換高速化支援フォーマット」によりＲＧＢデータ等のデータ配列が変換されてもよい。
【００４１】
なお、図６では、３×３の２次元配列のグレースケールデータが１×９の１次元配列のグレースケールデータに変換される場合について示されているが、このような場合に限定されない。例えば、５×５の２次元配列のグレースケールデータが１×２５の１次元配列のグレースケールデータに変換されてもよいし、それより大きいサイズの２次元配列のグレースケールデータが１次元配列のグレースケールデータに変換されてもよい。
【００４２】
＜＜＜マルチプレクサ＞＞＞
マルチプレクサ１７の出力端は、データ重畳部２０の第２入力端と接続されている。マルチプレクサ１７は、ＲＧＢデータ、グレースケールデータ、及びデータ配列変換データ入力とし、これらのデータのいずれか１つを選択し、選択したデータを前処理データとしてデータ重畳部２０へ出力する。図１では、グレースケールデータが選択され、前処理データとして出力される場合が示されている。
【００４３】
このように、前処理部１０は、生成した前処理データを出力する。なお、マルチプレクサ１７は、例えば、ＣＰＵから出力される信号に基づいてデータを選択してもよいし、ユーザの指示に基づいてデータを選択してもよい。
【００４４】
＜＜データ重畳部＞＞
データ重畳部２０は、前処理部１０とメイン処理部３０との間に設けられている。データ重畳部２０の出力端は、メイン処理部３０の入力端と接続されている。データ重畳部２０とメイン処理部３０とは、例えば映像バスを介して接続されている。データ重畳部２０は、Bayerデータと、前処理データとを重畳した重畳データを生成し、生成した重畳データをメイン処理部３０へ出力する。図１では、Bayerデータとグレースケールデータとが重畳された場合が示されている。
【００４５】
データ重畳部２０の第１入力端には、例えば８ビットのBayerデータが入力される。そして、データ重畳部２０の第２入力端には、例えば、８ビットのグレースケールデータ、８ビットの配列変換データ、２４ビットのＲＧＢデータのいずれかが入力される。したがって、データ重畳部２０は、Bayerデータと、グレースケールデータ又は配列変換データと、を重畳させた、例えば１６ビットの重畳データを出力する。あるいは、データ重畳部２０は、Bayerデータと、ＲＧＢデータと、を重畳させた３２ビットの重畳データを出力する。
【００４６】
図７は、データ重畳部２０の動作例を説明する図である。図７（ａ）は、Bayerデータ及び前処理データを並行して出力する場合の動作を示す図である。図７（ｂ）は、Bayerデータと前処理データとを交互に出力する場合の動作を示す図である。図７（ａ）では、映像バス幅が例えば３２ビットである。この場合、重畳データの最大ビット数である３２ビットにも対応できるので、データ重畳部２０は、Bayerデータ及び前処理データを並行して出力する。具体的には、データ重畳部２０は、映像同期信号（水平同期信号）に同期して重畳データを出力する。
【００４７】
一方、図７（ｂ）では、映像バス幅が例えば８ビットである。この場合、重畳データの最小ビット数である１６ビットに対応できないので、データ重畳部２０は、Bayerデータと前処理データとを交互に出力する。この場合も、データ重畳部２０は、水平同期信号に同期して重畳データを出力する。
【００４８】
このように、データ重畳部２０は、映像バス幅及び重畳データのビット数に応じてデータ出力のフォーマットを選択する。
【００４９】
＜＜メイン処理部＞＞
図１に示すように、メイン処理部３０は、映像入力Ｉ／Ｆ３１、メモリコントローラ３３、画像メモリ３５、ＣＰＵ３７、映像出力Ｉ／Ｆ３９、ストレージＩ／Ｆ４１を備えている。これらのうち、例えば、画像メモリ３５を除く、映像入力Ｉ／Ｆ３１、メモリコントローラ３３、ＣＰＵ３７、映像出力Ｉ／Ｆ３９、ストレージＩ／Ｆ４１は、ＳｏＣ（System on Chip）として１チップで構成される。
【００５０】
映像入力Ｉ／Ｆ３１は、映像バスを介してデータ重畳部２０と接続されている。映像入力Ｉ／Ｆ３１は、データ重畳部２０から出力される重畳データを入力し、メモリコントローラ３３へ出力する。なお、映像入力Ｉ／Ｆ３１は、重畳データからBayerデータ及び前処理データを分離する処理を行ってもよい。この場合、映像入力Ｉ／Ｆ３１は、分離したBayerデータをメモリコントローラ３３を介して画像メモリ３５へ格納してもよいし、ストレージＩ／Ｆ４１を介して外部装置のストレージ９５に格納してもよい。
【００５１】
メモリコントローラ３３は、映像入力Ｉ／Ｆ３１、ＣＰＵ３７、及び画像メモリ３５等の機能ブロックと接続され、これらの機能ブロック間における各種データの入出力を行う。例えば、メモリコントローラ３３は、映像入力Ｉ／Ｆ３１から出力される重畳データを入力し、重畳データをBayerデータと前処理データ（図１ではグレースケールデータ）とに分離する。そして、メモリコントローラ３３は、分離したBayerデータ及び前処理データを画像メモリ３５に格納する。また、メモリコントローラ３３がBayerデータをストレージ９５に格納してもよい。
【００５２】
また、メモリコントローラ３３は、ＣＰＵ３７からの要求に基づいて、例えばグレースケールデータを画像メモリ３５から読み出しＣＰＵ３７へ出力する。また、メモリコントローラ３３は、ＣＰＵ３７における画像処理により生成される画像処理データをＣＰＵ３７から読み出し、画像メモリ３５に格納する。さらに、メモリコントローラ３３は、例えば、画像処理データを画像メモリから読み出し、映像出力Ｉ／Ｆ３９を介して外部装置へ出力する。この外部装置は、例えば、画像処理データに基づいて青果等の農産物や工業製品等の検査対象物の選別作業（検品作業）を行う装置も含まれる。
【００５３】
画像メモリ３５は、Bayerデータ、前処理データ、画像処理データ等、画像処理に係る各種データを格納する機能ブロックである。画像メモリ３５は、例えば、ＤＲＡＭ（Dynamic RAM）等の揮発性メモリを備え、揮発性メモリにこれらのデータが格納される。
【００５４】
また、ＣＰＵ３７は、画像処理装置１の各機能ブロックの制御を行う。これ以外にも、ＣＰＵ３７は、前処理部１０で生成される前処理データに基づいて画像処理を行う。図１の例では、ＣＰＵ３７は、前処理データとして出力されるグレースケールデータに基づいて画像処理を行い、画像処理データを生成する。生成された画像処理データは、画像メモリ３５に格納される。このように、ＣＰＵ３７は、前処理後のデータを用いて画像処理を行うので、画像処理における負荷が軽減されている。
【００５５】
本実施の形態では、前処理が完了するまで、ＣＰＵ３７は、同一のBayerデータに関する画像処理を行うことはできない。しかし、撮像装置９１で撮像が連続して行われる場合、例えば、ＣＰＵ３７が直前のBayerデータに関する画像処理を行う間に、前処理部１０は、次のBayerデータの前処理を行うことができる。これにより、ＣＰＵ３７の負荷を低減しつつ、画像処理を高速化することが可能となる。
【００５６】
映像出力Ｉ／Ｆ３９は、例えば、映像バスを介して、図示しないディスプレイ等の外部装置と接続されている。例えば画像処理データ等のデータが、映像出力Ｉ／Ｆ３９を介して外部装置へ出力される。
【００５７】
ストレージＩ／Ｆ４１は、例えば、ＨＤＤ（Hard Disk Drive）等のストレージ９５と接続されている。例えばBayerデータが、ストレージＩ／Ｆ４１を介してストレージ９５へ出力される。
【００５８】
＜本実施の形態による主な効果＞
本実施の形態によれば、ＣＰＵ３７は、前処理部１０において生成される前処理データに基づいて画像処理を行う。この構成によれば、ＣＰＵ３７における画像処理の負荷が軽減されるので、画像処理が高速化することが可能となる。また、これにより、ＣＰＵ３７における画像処理と、次のBayerデータの前処理とが並行して実行されるので、複数の画像処理が効率的に行われる。
【００５９】
また、本実施の形態によれば、データ配列変換部１５は、Bayerデータ又はグレースケールデータのデータ配列を変換して配列変換データを生成する。例えば、データ配列変換部は、３×３で２次元配列されたグレースケールデータを、１×９の１次元配列の配列変換データに変換する。この構成によれば、グレースケールデータのデータ配列が１次元配列に変換されることにより、画像メモリ３５へのアクセスが効率化される。また、これにより、ＣＰＵ３７における画像処理の負荷が軽減され、画像処理が高速化される。
【００６０】
また、本実施の形態によれば、マルチプレクサ１７は、ＲＧＢデータ、グレースケールデータ、及び配列変換データのいずれか１つを選択し、選択したデータを前処理データとして出力する。この構成によれば、処理程度が異なる複数の前処理データから必要なデータを選択することができるので、より効率的に画像処理が行われる。
【００６１】
また、本実施の形態によれば、ビット選択部１３ａは、例えば２４ビットのＲＧＢデータから１８ビットの選択ビットデータを生成する。この構成によれば、ビット選択部１３ａ、変換テーブル１３ｂの回路規模が抑えられる。また、選択ビットデータの生成時間が短縮され、前処理に要する時間が短縮される。
【００６２】
また、ビット選択部１３ａは、被写体の色彩に応じて任意の１８ビットを選択することができるので、重要な色情報を劣化させることなく、ＲＧＢ−濃度変換を行うことが可能である。また、このビット選択によって、これ以降の処理（例えばＲＧＢ−濃淡変換処理）におけるデータのビット数を低減できるので、処理されるデータ量を低減し処理の高速化を図ることができ、更に変換テーブル１３ｂの回路規模を低減或いは回路規模の増大を抑制することができる。
【００６３】
また、本実施の形態によれば、変換テーブル１３ｂは、例えば１８ビットの選択ビットデータから８ビットのグレースケールデータに変換する。その際、変換テーブル１３ｂは、ＬＵＴを参照し、ビット選択部１３ａにより選択された選択ビットのアドレスを所定の変換データに変換する。この構成によれば、前処理に要する時間が短縮される。
【００６４】
また、本実施の形態によれば、データ重畳部２０は、Bayerデータと前処理データとを重畳した重畳データをメイン処理部へ出力する。この構成によれば、変換前のBayerデータもメイン処理部３０へ転送されるので、画像処理前の生データが保存され、トレーサビリティ要求にも対応することが可能となる。
【００６５】
（実施の形態２）
次に、実施の形態２について説明する。実施の形態１では、グレースケールデータが前処理部１０から出力されていたが、本実施の形態では、Bayerデータの配列変換データが前処理データとして出力される場合について説明する。
【００６６】
図８は、本発明の実施の形態２に係る画像処理装置の構成の一例を示す図である。図８は、図１と類似しているが、Bayerデータの配列変換データが出力される点が異なる。また、図８は、画像メモリ３５に格納されるデータが図１とは異なる。
【００６７】
データ重畳部２０は、Bayerデータと、マルチプレクサ１７から出力されるBayerデータの配列変換データとを重畳し、重畳データをメイン処理部３０へ出力する。これにより、画像メモリ３５には、Bayerデータ及びBayerデータの配列変換データが格納される。
【００６８】
ＣＰＵ３７は、Bayerデータの配列変換データに基づいてＲＧＢデータを生成する。そして、ＣＰＵ３７は、例えば、ＲＧＢデータに基づいてグレースケールデータ、画像処理データを順次生成することにより画像処理を行う。
【００６９】
このように、ＣＰＵ３７の能力に余裕がある場合や、ＣＰＵ３７においてＲＧＢデータの生成も行いたい場合にはBayerデータの配列変換データに基づいて画像処理を行えばよい。Bayerデータの配列変換データを用いることにより、ＣＰＵ３７の負荷は軽減されるので、画像処理が高速化される。また、本実施の形態においても、すでに述べた実施の形態１における各効果も得られる。
【００７０】
（実施の形態３）
次に、実施の形態３について説明する。本実施の形態ではＲＧＢ−濃度変換における有効ビット選択を自動で行う方法について説明する。このような有効ビットの自動選択は、例えば、品種が異なる複数の農産物等の検査対象物に対し、連続して選別作業を行う場合に好適に用いられる。
【００７１】
図５の濃度変換設定画面におけるＲＧＢ有効ビット設定領域にはＡｕｔｏボタンが設けられている。このボタンが押されると、有効ビットの選択が自動で行われる。図９は、本発明の実施の形態３に係る有効ビットの自動選択方法の一例を示すフローチャート図である。有効ビットの自動選択には、例えば、図９に示すステップＳ１０〜Ｓ５０の処理が行われる。
【００７２】
まず、ステップＳ１０では、カラーヒストグラム処理が行われる。具体的には、変換前の画像データ（例えば、ＲＧＢデータ）におけるＲＧＢ各色の出現頻度、濃度分布が解析される。そして、ステップＳ２０では、ステップＳ１０における解析結果に基づいて、有効ビットの候補となる１８ビット選択される。次に、ステップＳ３０では、ステップＳ２０において選択された１８ビットに基づいた画像認識が行われる。そして、ステップＳ４０では、ステップＳ２０〜Ｓ３０の処理が所定回数実行されたかどうかが判定される。
【００７３】
所定回数に達していない場合（Ｎｏ）、ステップＳ２０に戻り選択ビットを微調整しつつ、次の候補の１８ビットが選択され、ステップＳ３０において画像認識が行われる。なお、所定回数分の画像認識結果は、参照可能に保持されている。そして、所定回数に達すると（Ｙｅｓ）、ステップＳ５０に移行する。そして、ステップＳ５０では、各回の画像認識結果に基づいて最適な１８ビットが決定される。
【００７４】
なお、決定された１８ビットは、リアルタイムに反映され、変換テーブル１３ｂは、反映された１８ビットに対応する変換データを出力する。
【００７５】
図１０は、有効ビットの自動選択の一例を示す図である。図１０では、所定の搬送方向に品種１の検査対象物と、品種２の検査対象物とが連続して搬送されている。例えば、品種１の色彩は、緑色が強く、品種２の色彩は、赤色が強い。
【００７６】
この場合、品種１に対しては、例えば、Ｒ［１：０］、Ｇ［７：０］、Ｂ［７：０］の１８ビットが選択される。また、品種２に対しては、例えば、Ｒ［７：０］、Ｇ［７：０］、Ｂ［１：０］の１８ビットが選択される。これらの選択ビットは、あくまで一例であり、照明等の検査場所の環境にも影響される場合もある。
【００７７】
画像処理装置１では、品種ごと、あるいは、検査対象物ごとに選択ビットを切り換える。これにより、搬送装置を停止させることなく、異なる品種に対する選別作業が連続して行われる。
【００７８】
本実施の形態においても、これまでの各実施の形態と同様の効果が得られる。
【００７９】
（実施の形態４）
次に、実施の形態４について説明する。本実施の形態では、前処理部が組み込まれた撮像装置について説明する。図１１は、本発明の実施の形態４に係る撮像装置の構成の一例を示す図である。図１１に示すように、撮像装置９１は、前処理部１０を備えている。具体的には、撮像装置９１は、前処理部１０とともに、データ重畳部２０も備えている。これにより、撮像装置９１は、Bayerデータと前処理データとを重畳した重畳データをメイン処理部３０へ出力する。なお、本実施の形態では、図１，図８に示すカメラＩ／Ｆ９３は不要である。
【００８０】
本実施の形態では、撮像装置９１の内部メモリにBayerデータを格納することが可能である。したがって、撮像のみを予め行っておき、撮像装置９１とメイン処理部３０とを接続した後に、画像処理が行われてもよい。本実施の形態においても、これまでの各実施の形態と同様の効果が得られる。
【００８１】
各実施形態において、上記の各機能ブロックは、回路で構成されてもよく、またソフトウェアで構成されてもよい。また一部の機能ブロックを回路で構成し、他の機能ブロックをソフトウェアで構成してもよい。さらにまた、各機能ブロックの一部あるいは全部をＣＰＵまたはＦＰＧＡ等の集積回路で構成し、ＣＰＵまたはＦＰＧＡの内部或いは外部のメモリに格納されたプログラムを読みだして各機能ブロックの動作を実行するようにしてもよい。
【００８２】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００８３】
また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【００８４】
例えば、前処理部においてデータ配列変換を行わない場合には、データ配列変換部は削除されてもよい。この場合、前処理部１０は、ＲＧＢデータ又はグレースケールデータを前処理データとして出力する。
【００８５】
なお、図面に記載した各部材や相対的なサイズは、本発明を分かりやすく説明するため簡素化・理想化しており、実装上はより複雑な形状となる場合がある。
【符号の説明】
【００８６】
１…画像処理装置、１０…前処理部、１１…ＲＧＢデータ変換部、１３…ＲＧＢ−濃度変換部、１５…データ配列変換部、１７…マルチプレクサ、２０…データ重畳部、３０…メイン処理部、３３…メモリコントローラ、３５…画像メモリ、３７…ＣＰＵ、９１…撮像装置
【図１】
2019216351.tif 000003
【図２】
2019216351.tif 000004
【図３】
2019216351.tif 000005
【図４】
2019216351.tif 000006
【図５】
2019216351.tif 000007
【図６】
2019216351.tif 000008
【図７】
2019216351.tif 000009
【図８】
2019216351.tif 000010
【図９】
2019216351.tif 000011
【図１０】
2019216351.tif 000012
【図１１】
2019216351.tif 000013