(57)【要約】【課題】画像処理のための効率的アルゴリズムの実装を容易に出来る半導体集積回路装置、画像処理システム、及び画像処理方法を提供すること。【解決手段】半導体集積回路２０は、デジタルの画像データについて統計処理を行って特徴量を抽出する特徴量抽出装置３２と、複数の処理ユニット４１を備え、各々の処理ユニット４１がそれぞれ前記特徴量を用いて前記画像データに関する処理を行う高並列処理装置４０とを具備し、前記処理ユニット４１の各々は、前記特徴量抽出装置３２で抽出された前記特徴量を保持する保持回路４２を備え、該保持回路４２に保持する前記特徴量を用いて処理を行い、前記特徴量抽出装置３２は前記並列処理装置４０から独立して演算を行う。【選択図】      図１
2006293632.tif 000002
【特許請求の範囲】
【請求項１】
デジタルの画像データについて統計処理を行って特徴量を抽出する特徴量抽出装置と、
複数の処理ユニットを備え、各々の処理ユニットがそれぞれ前記特徴量を用いて前記画像データに関する処理を行う並列処理装置と
を具備し、前記処理ユニットの各々は、前記特徴量抽出装置で抽出された前記特徴量を保持する保持回路を備え、該保持回路に保持する前記特徴量を用いて処理を行い、
前記特徴量抽出装置は、前記並列処理装置から独立して演算を行う
ことを特徴とする半導体集積回路装置。
【請求項２】
前記特徴量は、前記画像データにおいて、複数のピクセルを含む領域の画素値の平均値である
ことを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記処理ユニットを動作させるための複数のプログラムを保持する記憶装置と、
前記プログラムが読み出されるメインメモリと
を更に備え、前記処理ユニットは前記メインメモリに読み出されたいずれかの前記プログラムに基づいて処理を実行する
ことを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項４】
請求項１乃至３いずれか１項記載の半導体集積回路装置と、
画像を撮影してデジタルの前記画像データを取得する撮像装置と
を具備し、前記半導体集積回路は前記撮像装置から前記画像データが転送され、該画像データを一時的に保持するバッファ回路と、
前記並列処理装置で処理された前記画像データを記憶する記憶装置と
を更に備え、前記特徴量抽出装置は前記バッファ回路に転送された前記画像データについて前記特徴量を抽出する
ことを特徴とする画像処理システム。
【請求項５】
複数の処理ユニットを備えた並列処理装置を用いて画像データを処理する画像処理方法であって、
前記画像データを受信するステップと、
受信した前記画像データについて特徴量抽出装置が特徴量を計算するステップと、
前記特徴量を前記処理ユニットの各々に転送するステップと、
転送された前記特徴量を用いて、前記処理ユニットの各々が前記画像データに関する処理を行うステップと
を具備することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置、画像処理システム、及び画像処理方法に関するもので、例えばカメラで撮影した画像データを、高並列のプロセシングユニットで処理する際のアルゴリズムに関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）の動作の高速化に伴って、画像処理装置の性能向上には著しいものがある。
【０００３】
従来の画像処理において、画像データから特徴量を抽出し、抽出した特徴量に基づいてどの画像処理を行うかを選択する方法が提案されている（例えば特許文献１参照）。本方法によれば、入力画像は複数の領域に分割され、それぞれの領域においてテクスチャ特徴量が抽出される。そして、抽出された特徴量に応じて、当該領域を処理する画像処理手段が選択される。
【０００４】
しかしながら、上記手法であると画像処理手段は特徴量の値自体を用いた画像処理アルゴリズムを実装することが難しいという問題があった。
【特許文献１】特許第３０４７９５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は、上記事情に鑑みてなされたもので、その目的は、画像処理のための効率的アルゴリズムの実装を容易に出来る半導体集積回路装置、画像処理システム、及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、この発明の一態様に係る半導体集積回路装置は、デジタルの画像データについて統計処理を行って特徴量を抽出する特徴量抽出装置と、複数の処理ユニットを備え、各々の処理ユニットがそれぞれ前記特徴量を用いて前記画像データに関する処理を行う並列処理装置とを具備し、前記処理ユニットの各々は、前記特徴量抽出装置で抽出された前記特徴量を保持する保持回路を備え、該保持回路に保持する前記特徴量を用いて処理を行い、前記特徴量抽出装置は、前記並列処理装置から独立して演算を行う。
【０００７】
またこの発明の一態様に係る画像処理システムは、上記半導体集積回路装置と、画像を撮影してデジタルの前記画像データを取得する撮像装置とを具備し、前記半導体集積回路は前記撮像装置から前記画像データが転送され、該画像データを一時的に保持するバッファ回路と、前記並列処理装置で処理された前記画像データを記憶する記憶装置とを更に備え、前記特徴量抽出装置は前記バッファ回路に転送された前記画像データについて前記特徴量を抽出する。
【０００８】
更にこの発明の一態様に係る画像処理方法は、複数の処理ユニットを備えた並列処理装置を用いて画像データを処理する画像処理方法であって、前記画像データを受信するステップと、受信した前記画像データについて特徴量抽出装置が特徴量を計算するステップと、前記特徴量を前記処理ユニットの各々に転送するステップとを、転送された前記特徴量を用いて、前記処理ユニットの各々が前記画像データに関する処理を行うステップとを具備する。
【発明の効果】
【０００９】
この発明によれば、画像処理のための効率的アルゴリズムの実装を容易に出来る半導体集積回路装置、画像処理システム、及び画像処理方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１１】
この発明の第１の実施形態に係る半導体集積回路装置、画像処理システム、及び画像処理方法について、図１を用いて説明する。図１は、本実施形態に係る画像処理システムのブロック図である。
【００１２】
図示するように本実施形態に係る画像処理システム１は、デジタルビデオカメラ１０及び画像処理ＬＳＩ２０を備えている。デジタルビデオカメラ１０によって撮影された画像は、画像処理ＬＳＩ２０によって処理される。
【００１３】
画像処理ＬＳＩ２０は、データ入力装置３０、高並列処理装置４０、記憶装置５０、ＤＭＡ（Direct Memory Access）コントローラ６０、及びデータバス７０を備えている。データ入力装置３０は、入力バッファ３１及び特徴量抽出装置３２を有している。入力バッファ３１には、デジタルビデオカメラ１０から画像データが入力される。特徴量抽出装置３２は、入力バッファ３１上で統計処理を行う統計処理専用のブロックであり、当該画像データについての特徴量を抽出する。特徴量抽出装置３２は、高並列処理装置４０と分離されており、高並列処理装置４０から独立して処理を実行出来る。
【００１４】
高並列処理装置４０は、複数（例えば１２８個）の処理ユニット（ＣＰＵ）４１を有している。処理ユニット４１の各々は、入力バッファ３１に保持される画像データを読み出し、画像データにつき互いに並列的に処理を実行する。処理ユニット４１は全てが同一の処理を行っても良いし、それぞれ異なる処理を行っても良い。各処理ユニット４１はメモリ（レジスタ）４２を備えている。処理ユニット４１は、特徴量を特徴量抽出装置３２からメモリ４２に読み出す。そして、メモリ４２に読み出した特徴量を用いて、自らが担当する画像データに関する処理を行う。
【００１５】
記憶装置５０は、入力バッファ３１に入力された画像データ、また高並列処理装置４０で処理された画像データなどを保持する例えばｅＤＲＡＭ（embedded DRAM）である。
【００１６】
ＤＭＡコントローラ６０は、入力バッファ３１と処理ユニット４１との間、記憶装置５０と処理ユニット４１との間、また入力バッファ４１と記憶装置５０との間におけるデータのＤＭＡ転送を制御する。これらのデータはデータバス７０を介して転送される。
【００１７】
次に上記画像処理システム１による画像処理方法について、図２のフローチャートを用いて説明する。まず、デジタルビデオカメラ１０が撮像対象を撮影し、画像データを取得する（ステップＳ１０）。カメラ１０はＡ／Ｄコンバータを備えており、カメラ１０によってデジタル化された画像データがＬＳＩ２０へ入力される。勿論、ＬＳＩ２０がＡ／Ｄ変換を行っても良い。
【００１８】
カメラ１０で取得された画像データは入力バッファ３１へ入力される（ステップＳ１１）。入力バッファ３１には、例えばダブルバッファを用いることが出来る。そして表バッファがフル（full）になったら裏バッファに切り替える。勿論、バッファの形態は様々であり、この方法に限定されるものではない。
【００１９】
次に特徴量抽出装置３２は、入力バッファ３１上において、画像データに関する統計処理を行って、特徴量を抽出する。また画像データを記憶装置５０へ転送する（ステップＳ１２）。特徴量の抽出は、当該画像データに関する高並列処理装置４０の処理が開始される前に行われる。
【００２０】
特徴量の抽出が完了すると、特徴量抽出装置３２は抽出した特徴量を処理ユニット４１に転送する（ステップＳ１３）。この際、特徴量は処理ユニット４１の各々で使用するためアクセスが集中しやすいので、特徴量のコピーを作成し、各処理ユニット４１がそれぞれ特徴量を独自に有していることが望ましい。
【００２１】
次に、高並列処理装置４０における処理ユニット４１の各々が、記憶装置５０内の画像データを読み出す。そして、メモリ４２内の特徴量を用いて該画像データに関する処理を行う（ステップＳ１４）。
【００２２】
その後、処理された画像データは記憶装置５０に格納される。  
上記のように、この発明の第１の実施形態に係るＬＳＩ、画像処理システム、及び画像処理方法であると、下記（１）、（２）の効果が得られる。
【００２３】
（１）画像処理のための効率的アルゴリズムを高並列処理装置に対して実装を容易に出来る。  
本実施形態に係る構成であると、統計処理を行う特徴量抽出装置３２が高並列処理装置４０から分離・独立している。そのため、高並列処理装置における処理プログラムには、統計処理を考慮する必要がない。また、各処理ユニット４１はメモリ４２に特徴量を保持する。そして、自由に特徴量を参照しつつ処理を行うことが出来る。以上の結果、高並列処理装置における処理プログラムを簡略化出来、すなわち、特徴量を用いた効率的アルゴリズムの高並列処理装置に対する実装が容易となる。特に、特徴量として例にあげた統計量計算では実装すべきハードウェアコストは低い。例えば、平均値計算ならデータ取得のためのアドレス生成部とカウンタと加算器、及び除算器を実装すれば良い。除算器は、平均値のための除数が２のべき乗であればシフタを用いれば良い。もちろん除算器を実装してもよい。分散計算も、上記に加え乗算器と逆数根計算器を加えるだけでよい。ヒストグラム生成にはヒストグラムとしての値を保持する記憶部とカウンタがあればよい。ヒストグラムの作成にあたって、記憶部に画素値Ｐが取り得る値の数のエントリを確保する。例えば画素値Ｐが８ビットの場合その値は０〜２５５まで取り得るから、２５６個のエントリを確保する。そしてそれぞれのエントリに画素値Ｐを割り当て、各画素値Ｐを取るピクセルの数を、対応するエントリに格納していく。図３の例は、Ｐ＝０のピクセル数は１個、Ｐ＝１のピクセル数は２個、Ｐ＝２のピクセル数は２個、…Ｐ＝２５５のピクセル数は０個であることを示している。このようなエントリを、例えば記憶装置５０に保持すればよい。さらに中央値の計算や順序統計量もヒストグラムと加算器で実装可能である。これ以上の詳細は省くが、統計量計算に必要なハードウェアのコストは低い。
【００２４】
この統計量計算を高並列処理装置で行った場合、その計算のためのコストが高くなる。平均値の計算はピラミッドアルゴリズムが用いる場合が多い。ピラミッドアルゴリズムは以下のようにして行われる。例えば、（５１２×５１２）のサイズの輝度データがあったとすると、まず原画像Ｄ０において隣接する４つのピクセルの平均値を計算して、縦横がそれぞれ１／２（ピクセル数は１／４）の画像Ｄ１を作成する。次に、画像Ｄ１において隣接する４つのピクセルの平均値を計算して、縦横がさらに１／２となる画像Ｄ２を作成する。これを繰り返してゆくと、ピクセルの数は最終的に１個になり、そのピクセルの値が平均値になる。次第に画像が小さくなってゆくことから、ピラミッドアルゴリズムと名づけられている。分散計算のための二乗平均も同様にしてピラミッドアルゴリズムで計算ができる。ピラミッドアルゴリズムは画像が大きい場合は並列度が活かせるので効率がよいが、処理が進んで画像が小さくなると並列処理装置のうち動かない処理ユニットが発生する。特に並列度が高い場合は無駄な（要はデータが無くて動作していない）ユニットが多くなるといった問題がある。ほかの方法として、高並列処理装置のうち１ユニットだけを使って通常の方法で計算する方法もあるが、その間ほかのユニットが遊んでしまう可能性があるため、同様に無駄が生じる。
【００２５】
同様に、ヒストグラム処理も高並列処理装置では効率的に実行することができない。平均値や分散の場合と同じく、高並列処理装置の各ユニットでの処理結果をマージする必要があり、そのマージ処理に関しては高並列処理装置で原理的に無駄なく処理することは難しい。
【００２６】
（２）画像処理効率を向上出来る。  
本実施形態に係る構成であると、高並列処理装置４０から分離された特徴量抽出装置３２によって特徴量を抽出している。このように、並列化処理になじまない統計処理を専用のデバイスによって行い、高並列化処理装置４０では一切行わないことで、特徴量の抽出効率が向上出来ると共に高並列処理装置４０における処理効率を向上出来る。
【００２７】
また、特徴量の抽出を高並列処理装置４０から切り離すことで、特徴量抽出処理と、高並列処理装置４０における処理とをパイプライン方式で処理出来る。この点について図４を用いて説明する。図４は画像処理時の各処理のタイミングチャートである。
【００２８】
図示するように、カメラ１０からデータＡ〜Ｄが順次ＬＳＩ２０へ入力されたとする（ステップＳ１１）。そして、時刻ｔ１〜ｔ４において、特徴量抽出装置３２がデータＡ〜Ｄの特徴量をそれぞれ抽出する（ステップＳ１２）。データＡに着目すると、時刻ｔ３で特徴量の転送が完了すると（ステップＳ１３）、高並列処理装置４０は特徴量抽出装置３２の状況に関わらず処理を開始出来る（ステップＳ１４）。特徴量抽出装置３２も高並列処理装置４０からは独立して動作しているので、高並列処理装置４０がデータＡに関する処理を行っている期間ｔ３〜ｔ４において、データＣに関する特徴量抽出処理を実行出来る。このように、ステップＳ１２乃至Ｓ１４の処理は互いにオーバーラップさせることが出来る。従って、ＬＳＩ２０の処理効率を向上出来る。なお図４においては、簡単化のためにステップＳ１１〜Ｓ１４の処理にかかる時間が全て同一である場合について示している。しかし前述の通り、高並列処理装置４０における処理が特徴量抽出後に開始されるタイミングであれば、処理に必要な時間は特に限定されない。
【００２９】
次に、この発明の第２の実施形態に係る半導体集積回路装置、画像処理システム、及び画像処理方法について説明する。本実施形態は上記第１の実施形態の具体例に相当し、高並列処理装置４０においてテンプレートマッチング（template matching）を行う際のものである。まずテンプレートマッチングについて図５を用いて説明する。図５はテンプレートマッチングの概念を示す図である。
【００３０】
テンプレートマッチングは、ある特定の画像Ｔ（template）と同じ画像を、他の画像Ｉn+1の中から探すことを言う。例えば（６４×６４）個のピクセル（pixel）を含む画像Ｔを、（１０２４×１０２４）個のピクセルを含む画像Ｉn+1内を走査して、画像Ｔと一致する領域が画像Ｉn+1内にあるか否かを検出する。この画像Ｔは通常は画像Ｉn+1と同じサイズの画像Ｉnの一部であり、すなわち画像Ｉnのある部分が画像Ｉn+1でどの位置に移動しているかを検出するような場合にこのテンプレートマッチングが使うことを考える。
【００３１】
このようなテンプレートマッチングを高並列処理装置４０が行う場合の画像処理方法について、図２における特にステップ１２、Ｓ１３の処理に着目して説明する。まずカメラ１０からＬＳＩ２０にデジタル画像データＩn、Ｉn+1が入力される。デジタル画像データは、ピクセルの集合で表され、各ピクセルは明るさのレベル（濃淡）を示す階調を持つ。この階調のことを以下「画素値Ｐ」と呼ぶことにする。デジタル画像には、画素値が２つのレベルしかない２値画像と、画素値が多数のレベルに分かれる多値画像とがある。例えば画素値が８ビットで表される場合には、画素値は２５６個の階調を有する。
【００３２】
まずステップＳ１２において、特徴量抽出装置３２は画像データＩnの画素値Ｐの平均値Ｐ〜と、画像データＩn+1の画素値Ｐ’の平均値Ｐ’〜とを、特徴量として算出する。図６及び図７はそれぞれ、画像データＩn及びＩn+1の概念図である。図示するように、画像データＩnに含まれる（１０２４×１０２４）個のピクセルはそれぞれ画素値Ｐij（ｉ＝０〜１０２３、ｊ＝０〜１０２３）を有する。また画像データＩn+1に含まれる（１０２４×１０２４）個のピクセルはそれぞれ画素値Ｐ’kl（ｋ＝０〜１０２３、ｌ＝０〜１０２３）を有している。ピクセルの数をＮとすると、平均値Ｐ’〜は下記の式で求められる。  
Ｐ’〜＝ΣＰ’kl／N
Ｐ〜＝ΣＰij／N
すなわち画像Ｉn+1の画素値の平均値Ｐ’〜は、画像Ｉに含まれる全てのピクセルの画素値を加算し、それを全ピクセル数Ｎで割ることで得られる。Ｐ〜も同様の計算で得られる。以上のようにして求められた平均値Ｐ〜、Ｐ’〜は処理ユニット４１へ転送される（ステップＳ１３）。
【００３３】
次に、高並列処理装置４０がテンプレートマッチングを行う（ステップＳ１４）。すなわち、図５に示す画像Ｔが画像Ｉに含まれるか否かを検出するために、互いのピクセルの画素値ＰijとＰ’klとの差分Ａを計算する。そして差分Ａがある閾値Ａthよりも小さい場合、その領域に画像Ｔが含まれるものと判定する。例えば、画像Ｔ、Ｉについての画素値Ｐij、Ｐ’klがそれぞれ図８、図９のようであったと仮定する。図７は縦軸に画素値Ｐを取り、横軸に（６４×６４）個のピクセルを並べたグラフである。図８は縦軸に画素値Ｐ’を取り、横軸に（１０２４×１０２４）個のピクセルを並べたグラフである。
【００３４】
高並列処理装置４０は、画像Ｉにおける（６４×６４）個のピクセルを含む各領域について下記の計算を行い、画像Ｔ、Ｉの差分Ａを取得する。  
Ａ＝Σ｜（Ｐij−Ｐ〜）−（Ｐ’kl−Ｐ’〜）｜
すなわち、画像Ｔに含まれる全てのピクセルの画素値Ｐijから平均値Ｐ〜を減算する。また画像Ｉn+1において画像Ｔとの比較対象となる領域に含まれる全ての画素値Ｐ’klから平均値Ｐ’〜を減算する。そして両者の差分を差分値Ａとする。この処理がテンプレートマッチングである。このテンプレートマッチングを、画像Ｉn+1の全ての領域について繰り返し行う。テンプレートマッチングの処理はそれぞれ独立して実行可能であるので、画像Ｉ内の各領域における画像Ｔの探索は、処理ユニット４１のそれぞれにおいて並列的に行われる。すると図８に示すように、画像Ｉn+1における領域ＡＲＥＡ１において差分値Ａが閾値Ａthを下回るので、この領域ＡＲＥＡ１に画像Ｔが存在することが分かる。以上のようにしてテンプレートマッチングが完了する。
【００３５】
なお、上記第１および第２の実施形態では、画素値Ｐij、Ｐklから平均値を減算したもの同士の差分を計算する場合について説明した。しかし、更に画像の分散σ、σ’を計算し、画素値から平均値を減算した結果を分散で除算しても良い。すなわち、差分Ａを下記の式により算出する方法もある（第２の実施形態）。  
Ａ＝Σ｜（Ｐij−Ｐ〜）／σ−（Ｐ’kl−Ｐ’〜）／σ’｜
このように分散を用いることで、差分Ａは周囲環境の影響に対して更にロバスト（robust）となる。分散σ、σ’の算出は、ステップＳ１４において高並列処理装置４０が行っても良いし、または分散を特徴量として扱い、ステップＳ１２において特徴量抽出装置３２が行っても良い。
【００３６】
本実施形態に係る構成及び方法であると、上記第１の実施形態で説明した効果（１）、（２）に加えて下記（３）の効果を得ることが出来る。  
（３）テンプレートマッチングの精度を向上出来る。  
本実施形態に係る方法であると、各画像データにおいて、画素値の平均値を特徴量として算出している。そして、この平均値を実際の画素値から減算した上で、差分値Ａを計算している。従って、余計なバックグラウンドの影響を除去し、テンプレートマッチングの精度を向上出来る。
【００３７】
具体的には、例えば環境光の影響を低減できる。例えばカメラ１０が画像Ｔ、画像Ｉを撮影する際、周囲の明るさに違いがあったとする。図８、図９に示す場合であると、画像Ｔの撮影時よりも画像Ｉの撮影時の方が明るく、Ｐ’〜がＰ〜よりも非常に大きい場合には、画像Ｉにおける全ての領域で差分値Ａが閾値Ａthを上回ったり、または領域ＡＲＥＡ１以外の領域で差分値Ａが閾値Ａthを下回ったりする現象が起こりうる。この場合、画像Ｉ内における画像Ｔは正しく認識されない。
【００３８】
しかし本実施形態であると、画像Ｔ、画像Ｉの画素値Ｐij、Ｐklから予め平均値Ｐ〜、Ｐ’〜を減算している。すなわち、それぞれの画像の背景にある成分を除去している。従って、平均値を減算することで画像Ｔ、画像Ｉにおける正味の画像データが得られる。従って、撮影時に周囲の明るさの違いがあったとしても、この周囲の明るさ成分を画像Ｔ、画像Ｉから除去出来るので、正確なテンプレートマッチングが可能となる。
【００３９】
また上記（１）、（２）の効果については、本実施形態であると、高並列処理装置４０は画素値の平均値を算出するアルゴリズムを必要としないので、プログラムを簡略化出来る。また、一般的に平均値を求める処理は並列化に向いておらず、この処理を特徴量抽出装置３２に行わせることで、高並列処理装置４０はテンプレートマッチングの処理のみを行えば良く、探索効率を向上出来る。
【００４０】
次に、この発明の第３の実施形態に係る半導体集積回路装置、画像処理システム、及び画像処理方法について説明する。本実施形態は上記第１の実施形態の具体例に相当し、高並列処理装置４０において画像符号化処理の一部を行う際のものである。
【００４１】
図１０は本実施形態に係るＬＳＩ２０のブロック図である。図示するように本実施形態に係るＬＳＩ２０は、上記第１の実施形態で説明した構成において、更にＭＰＥＧ（Moving Picture coding Experts Group）デコーダ８０を備えている。ＭＰＥＧデコーダ８０の構成について図１１を用いて説明する。図１１はＭＰＥＧデコーダ８０のブロック図である。
【００４２】
ＭＰＥＧデコーダ８０は入力バッファ３１に入力された動画像をＭＰＥＧの規格にエンコードする。図示するようにＭＰＥＧデコーダ８０は、加減算器８１、８２、ＤＣＴ（Discrete Cosine Transform）部８３、量子化部８４、可変長符号化部８５、バッファ８６、８７、レート制御部８８、逆量子化部８９、逆ＤＣＴ部９０、及び動き補償予測部９１を備えている。  
ＤＣＴ部８３は、入力された画像データを周波数領域に直交変換する。量子化部８４は、ＤＣＴ部８３で得られた標本値を一定のステップ幅で区分する。すなわち、標本値をステップ幅でわり算し、その値を丸めることでデータレートを削減する。このステップ幅はレート制御部８８によって決定される。可変長符号化部８５は、量子化部でデータを削減された画像データを、例えばハフマン符号化する。これによりＭＰＥＧデータが得られ、バッファ８６に格納される。逆量子化部８９及び逆ＤＣＴ部９０は、ＤＣＴ部８３及び量子化部８４で符号化された画像データをデコードする。デコードされた画像データはバッファ８７に格納され、更に動き補償予測部９１で動き予測（ＭＥ：Motion estimation）のために用いられる。本実施形態では、高並列処理装置４０における各処理ユニット４１が動き補償予測部９１として機能する。
【００４３】
動画を構成する、個々の時間における１枚の画像はフレーム（frame）と呼ばれている。ＤＣＴと量子化が１つのフレームを空間として圧縮するのに対して、動き予測は連続する２つのフレームにまたがるデータ圧縮を行う。動き予測は、２つの連続するフレームをデルタ解析してフレーム間で各エリアが変化したか、どのように移動したかを判断する。ある画像エリアが１つの前のフレームと同一であれば、そのフレームと同じように表示すれば良い。また、画像エリアがいずれかの方向へ移動した場合には、表示すべき画像は１つの前のフレームと同一であり、それを特定の方向へある量だけ動かせば良い。これは実際には動き補償予測部９１において動きベクトル（ＭＶ：Motion Vector）を生成することによって行われる。このように、動きベクトルを求めることにより、冗長なデータを大幅に削減出来る。
【００４４】
動き予測を行うために動き補償予測部９１は、１つ前のフレームの全領域と現在のフレームの全領域との間で、第２の実施形態で説明したテンプレートマッチングを実行する。これによって、１つ前のフレームにおける所定の領域が、次のフレーム内においてどの方向へどれだけ移動したかが分かる。図１２は、２つのフレーム間で物体（object）が移動する様子を示している。例えば時刻ｔ１（フレーム１）において表示されていた物体が、時刻ｔ２（フレーム２）において図示するような動きベクトルＭＶにより示されるように移動したとする。すると、特徴量抽出装置３２はフレーム１、フレーム２の画素値Ｐ、Ｐ’の平均値Ｐ〜、Ｐ’〜を算出し（ステップＳ１２）、求めた平均値Ｐ〜、Ｐ’〜を特徴量記憶装置４２へ転送する（ステップＳ１３）。また、入力バッファ３１から処理ユニット４２の各々へフレーム２の各領域が転送され、逆量子化部８９及び逆ＤＣＴ部９０で再生されたフレーム１の各領域が、バッファ８７から処理ユニット４２の各々へ転送される（ステップＳ１２）。そして、処理ユニット４２の各々がフレーム１とフレーム２とのテンプレートマッチングを行う（ステップＳ１４）。テンプレートマッチングの様子を図１３に示す。
【００４５】
ステップＳ１４では第２の実施形態と同様に、フレーム１の画素値Ｐからその平均値Ｐ〜が減算され、フレーム２の画素値Ｐ’からその平均値Ｐ’〜が減算される。その上で、両画素値の差分値Ａを算出する。そして、差分値Ａが閾値Ａth以下になる領域を探索することで、物体の動きベクトルＭＶが計算出来る。
【００４６】
本実施形態に係る構成及び方法であると、上記第１、第２の実施形態で説明した効果（１）乃至（３）が得られる。また（３）の効果によって、ＭＰＥＧ符号化精度が向上出来る。
【００４７】
次に、この発明の第４の実施形態に係る半導体集積回路装置、画像処理システム、及び画像処理方法について説明する。本実施形態は上記第１の実施形態の具体例に相当し、高並列処理装置４０において二値化処理を行う際のものである。従って、画像処理システムの構成は上記第１の実施形態と同様であるので説明は省略する。
【００４８】
二値化処理とは、画像の画素値を“０”か“１”かのいずれかにする処理であり、画素値がある閾値を超えたか否かによって“０”にするか“１”にするかが決定される。通常の本実施形態では、高並列処理装置４０が二値化処理を行い、閾値を決定するためにヒストグラム（histgram）を統計処理ハードウェアが作成する。ヒストグラムとは、第１の実施形態で説明したとおり、１枚の画像の全域（または一部分）について、各画素値の出現頻度（ピクセル数）をカウントしたものである。閾値を決定する方法について図１４、図１５を用いて説明する。図１４、図１５は、縦軸にピクセル数をプロットし、横軸に画素値Ｐをプロットしたグラフである。例えば図１４に示すように、画素値の最も大きい部分から、全ピクセル数に対してｘ％までの画素値を閾値Ｐthとすることが出来る。また図１５に示すように、２個のピークとその間の谷が明らかな場合には、その谷の位置を閾値Ｐthとすることも出来る。二値化処理は通常画像認識のための前処理として用いられる。
【００４９】
次に、本実施形態に係る二値化処理方法について図１６のフローチャートを用いて説明する。以下では特にステップＳ１４の処理に着目して説明する。ステップＳ１１の後、特徴量抽出装置３２が画像データの画素値Ｐijのヒストグラムを作成し、特徴量記憶装置４２へ転送される（ステップＳ１２、Ｓ１３）。ヒストグラムの作成方法は第１の実施形態で説明したとおりである。また画像データが高並列処理装置４０の各処理ユニット４１へ転送される（ステップＳ１２）。
【００５０】
次に、高並列処理装置４０が二値化処理を開始する（ステップＳ１４−１）。まず各処理ユニット４１が、ヒストグラムから閾値Ｐthを計算する（ステップＳ１４−２）。例えば図１４または図１５で説明した方法を用いて閾値Ｐthを決定する。あるいは、閾値Ｐthまでの算出を徴量抽出装置３２で行うという手法も考えられる。高並列処理装置におけるプログラミングを容易にするという観点からはこちらが望ましい。
【００５１】
次に、各処理ユニット４１が各ピクセルの画素値（Ｐij−Ｐ〜）と閾値Ｐthとを比較する（ステップＳ１４−３）。ここで用いられる画素値Ｐijは、勿論、平均値Ｐ〜を減算した後の値である。Ｐij≧Ｐthの場合にはＰij＝“１”とし（ステップ（Ｓ１４−４）、Ｐij＜Ｐthの場合にはＰij＝“０”とする（ステップＳ１４−５）。この処理を全てのピクセルについて行い、二値化処理が終了する。
【００５２】
本実施形態に係る構成及び方法であると、更にヒストグラムを特徴量として用いている。そして、このヒストグラムを用いることにより二値化処理を行っている。従って、上記第１の実施形態で説明した効果（１）、（２）の効果が得られる。  
上記のように、この発明の第１乃至第４の実施形態に係るＬＳＩ、画像処理システム、及び画像処理方法であると、統計処理を行う特徴量抽出装置３２が高並列処理装置４０から分離・独立している。そして各処理ユニット４１はメモリ４２から特徴量を自由に読み出すことが出来る。従って、高並列処理装置４０における処理プログラムには、統計処理を考慮する必要がなく、また必要に応じて特徴量をメモリ４２から読み出して処理を行うことができる。従って、高並列処理装置４０における処理プログラムを簡略化出来、プログラマの負担を大幅に軽減できる。また、高並列処理装置４０が統計処理を行う必要がないので、特徴量の抽出効率が向上出来ると共に高並列処理装置４０における処理効率を向上出来る。更に上記構成はテンプレートマッチングやＭＰＥＧデコードに適用することで、これらの処理精度を向上出来る。
【００５３】
また、上記実施形態では高並列処理装置４０内の全ての処理ユニット４１が同一の１種類の処理を行う場合について説明した。しかし図１７に示すように、処理ユニット４１のそれぞれは記憶装置５０からプログラム５１−１、５１−２、…のいずれかをメインメモリ１００に読み出し、適宜そのプログラムに従って処理を行えば良い。この際、いずれのプログラムを実行するかは、例えばプログラムカウンタ１１０等によって指定することも可能である。よって、処理ユニット４１の各々が、それぞれ異なるプログラムに基づいて異なる処理を実行することも可能である。
【００５４】
また上記第３の実施形態では、ＤＣＴや量子化の処理を専用のハードウェア８０を用いて行っているが、これらの処理を高並列処理装置４０でソフトウェアを用いて行っても良い。更に第４の実施形態において、閾値Ｐthを特徴量として扱い、ヒストグラムの作成及び閾値決定をステップＳ１２において特徴量抽出装置３２が行っても良い。
【００５５】
なお、特徴量抽出装置３２は高並列処理装置４０から独立して動作可能で、且つ特徴量を処理ユニットが自由に読み出せるものであれば、その構成は特に限定されるものではない。そして特徴量の計算はハードウェアで処理しても良いし、またはソフトウェアで処理しても良い。必要で有ればスカラープロセッサを用いてファームウェアで統計処理しても良い。
【００５６】
すなわち、この発明の実施形態に係る半導体集積回路装置は、  
１．デジタルの画像データについて統計処理を行って特徴量を抽出する特徴量抽出装置と、  
複数の処理ユニットを備え、各々の処理ユニットがそれぞれ前記特徴量を用いて前記画像データに関する処理を行う並列処理装置とを具備し、前記処理ユニットの各々は、前記特徴量抽出装置で抽出された前記特徴量を保持する保持回路を備え、該保持回路に保持する前記特徴量を用いて処理を行い、前記特徴量抽出装置は、前記並列処理装置から独立して演算を行う。  
２．上記１において、前記特徴量は、前記画像データにおいて、複数のピクセルを含む領域の画素値の平均値である。  
３．上記１または２において、前記処理ユニットを動作させるための複数のプログラムを保持する記憶装置と、
前記プログラムが読み出されるメインメモリとを更に備え、前記処理ユニットは前記メインメモリに読み出されたいずれかの前記プログラムに基づいて処理を実行する。
【００５７】
また上記実施形態に係る画像処理システムは、  
４．上記１乃至３いずれか１項記載の半導体集積回路装置と、  
画像を撮影してデジタルの前記画像データを取得する撮像装置とを具備し、前記半導体集積回路は前記撮像装置から前記画像データが転送され、該画像データを一時的に保持するバッファ回路と、  
前記並列処理装置で処理された前記画像データを記憶する記憶装置とを更に備え、前記特徴量抽出装置は前記バッファ回路に転送された前記画像データについて前記特徴量を抽出する。
【００５８】
更に上記実施形態に係る画像処理方法は、  
５．複数の処理ユニットを備えた並列処理装置を用いて画像データを処理する画像処理方法であって、前記画像データを受信するステップと、  
受信した前記画像データについて特徴量抽出装置が特徴量を計算するステップと、  
前記特徴量を前記処理ユニットの各々に転送するステップと、  
転送された前記特徴量を用いて、前記処理ユニットの各々が前記画像データに関する処理を行うステップとを具備する
更に半導体集積回路装置は、  
６．上記２において前記並列処理装置は、２つの前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量を減算し、前記２つの画像データ間における前記減算結果の差分を計算する。  
７．上記６において前記並列処理装置は、前記減算結果を前記画像データの前記画素値の分散で除算し、前記２つの画像データ間における前記除算結果の差分を計算する。  
８．上記２において前記並列処理装置は、前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量に基づいて前記画像データを二値化し、前記特徴量がヒストグラムである。
【００５９】
更に画像処理方法は、  
９．上記５において前記特徴量は、前記画像データにおいて、複数のピクセルを含む領域の画素値の平均値である。  
１０．上記９において、前記画像データに関する処理を行うステップは、２つの前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量を減算するステップと、  
前記減算するステップで得られた減算結果の、前記２つの画像データ間における差分を計算するステップとを備える。  
１１．上記９において、前記画像データに関する処理を行うステップは、２つの前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量を減算するステップと、  
前記減算するステップで得られた減算結果を、それぞれの画像データにおける前記画素値の分散で除算するステップと、  
前記除算するステップで得られた除算結果を、前記２つの画像データ間における差分を計算するステップとを備える。  
１２．上記９において、前記画像データに関する処理を行うステップは、ヒストグラムを作成するステップと、  
前記ヒストグラムを基にして前記画像データを二値化するステップとを備える。
【００６０】
更に画像処理システムは、  
１３．上記４において前記並列処理装置は、２つの前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量を減算し、前記２つの画像データ間における前記減算結果の差分を計算する。  
１４．上記１３において前記並列処理装置は、前記減算結果を前記画像データの前記画素値の分散で除算し、前記２つの画像データ間における前記除算結果の差分を計算する。  
１５．上記４において前記並列処理装置は、前記画像データに含まれる前記ピクセルの前記画素値から前記特徴量に基づいて前記画像データを二値化する。
【００６１】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００６２】
【図１】この発明の第１の実施形態に係る画像処理システムのブロック図。
【図２】この発明の第１の実施形態に係る画像処理方法のフローチャート。
【図３】この発明の第１の実施形態に係る画像処理装置の備える記憶装置内のメモリ空間の概念図。
【図４】この発明の第１の実施形態に係る画像処理方法における各ステップのタイミングチャート。
【図５】この発明の第２の実施形態に係る画像処理方法におけるテンプレートマッチングの概念図。
【図６】この発明の第２の実施形態に係る画像処理方法における特徴量の算出方法を説明するためのもので、Ｎ個のピクセルを含む画像Ｉの模式図。
【図７】この発明の第２の実施形態に係る画像処理方法における特徴量の算出方法を説明するためのもので、Ｎ個のピクセルを含む画像Ｉn+1の模式図。
【図８】この発明の第２の実施形態に係る画像処理方法におけるテンプレートマッチングを説明するためのもので、位置と画素値との関係を示すグラフ。
【図９】この発明の第２の実施形態に係る画像処理方法におけるテンプレートマッチングを説明するためのもので、位置と画素値との関係を示すグラフ。
【図１０】この発明の第３の実施形態に係る画像処理装置のブロック図。
【図１１】この発明の第３の実施形態に係る画像処理装置の備えるＭＰＥＧデコーダのブロック図。
【図１２】この発明の第３の実施形態に係る画像処理方法における動き補償予測の概念図。
【図１３】この発明の第３の実施形態に係る画像処理方法における動き補償予測を説明するためのもので、位置と画素値との関係を示すグラフ。
【図１４】この発明の第４の実施形態に係る画像処理方法における二値化処理を説明するためのもので、画素値とピクセル数との関係を示すグラフ。
【図１５】この発明の第４の実施形態に係る画像処理方法における二値化処理を説明するためのもので、画素値とピクセル数との関係を示すグラフ。
【図１６】この発明の第４の実施形態に係る画像処理方法のフローチャート。
【図１７】この発明の第１乃至第４の実施形態の変形例に係る画像処理装置のブロック図。
【符号の説明】
【００６３】
１…画像処理システム、２、２０…ＬＳＩ、３…ホストプロセッサ、４…Ｉ／Ｏプロセッサ、５…メインメモリ、６…グラフィックプロセッサ、３０…データ入力装置、３１…入力バッファ、３２…特徴量抽出装置、４０…高並列処理装置、４１…処理ユニット、４２…特徴量記憶装置、５０…記憶装置、５１−１、５１−２…プログラム、６０…ＤＭＡコントローラ、７０…データバス、８０…ＭＰＥＧデコーダ、８１…減算器、８２…加算器、８３…ＤＣＴ部、８４…量子化部、８５…可変長符号化部、８６、８７…バッファ、８８…レート制御部、８９…逆量子化部、９０…逆ＤＣＴ部、９１…動き補償予測部、１００…メインメモリ、１１０…プログラムカウンタ
【図１】
2006293632.tif 000003
【図２】
2006293632.tif 000004
【図３】
2006293632.tif 000005
【図４】
2006293632.tif 000006
【図５】
2006293632.tif 000007
【図６】
2006293632.tif 000008
【図７】
2006293632.tif 000009
【図８】
2006293632.tif 000010
【図９】
2006293632.tif 000011
【図１０】
2006293632.tif 000012
【図１１】
2006293632.tif 000013
【図１２】
2006293632.tif 000014
【図１３】
2006293632.tif 000015
【図１４】
2006293632.tif 000016
【図１５】
2006293632.tif 000017
【図１６】
2006293632.tif 000018
【図１７】
2006293632.tif 000019