(57)【特許請求の範囲】
【請求項１】
走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と
を有し、
前記階調変換工程が、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング工程と、
各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、
前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、
最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、
前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と
を含む、
画像階調変換方法。
【請求項２】
走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と
を有し、
前記階調変換工程が、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング工程と、
各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、
前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、
最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、
前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と
を含む、
画像階調変換方法。
【請求項３】
走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と、
前記入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、
前記最小階調度と前記最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって前記複数の階調度範囲を決定する階調度範囲演算工程と
を有し、
前記階調変換工程が、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記最小階調度の値をコアリングレベルとするコアリング演算を行う第１のコアリング工程と、
前記第１のコアリング工程の演算結果について前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行う第２のコアリング工程と、
各々の前記第２のコアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、
前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、
最終回の前記第２のコアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、
前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と、
前記第２の加算工程の演算結果と前記最小階調度とを加え合わせる第３の加算工程と、
前記第３の加算工程の演算結果と前記最大階調度とを比較し、小さい方を選択する最小値演算工程と
を含む、
画像階調変換方法。
【請求項４】
走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算工程と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と、
前記入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、
前記最小階調度と前記最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって前記複数の階調度範囲を決定する階調度範囲演算工程と
を有し、
前記階調変換工程が、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記最小階調度の値をコアリングレベルとするコアリング演算を行う第１のコアリング工程と、
前記第１のコアリング工程の演算結果について前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行う第２のコアリング工程と、
各々の前記第２のコアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、
前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、
最終回の前記第２のコアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、
前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と、
前記第２の加算工程の演算結果と前記最小階調度とを加え合わせる第３の加算工程と、
前記第３の加算工程の演算結果と前記最大階調度とを比較し、小さい方を選択する最小値演算工程と
を含む、
画像階調変換方法。
【請求項５】
１フィールドまたは１フレーム分の前記入力画像信号を単位として前記度数演算工程を行う請求項１〜４のいずれか一項に記載の画像階調変換方法。
【請求項６】
所定数のフィールドまたはフレーム置きに前記度数演算工程を行う請求項１〜５のいずれか一項に記載の画像階調変換方法。
【請求項７】
１フィールドまたは１フレーム内の一部の入力画像領域についてのみ前記度数演算工程を行う請求項５または請求項６に記載の画像階調変換方法。
【請求項８】
所定の間隔を置いた画素および所定の間隔を置いた走査線についてのみ前記度数演算工程を行う請求項５〜７のいずれか一項に記載の画像階調変換方法。
【請求項９】
前記度数演算工程は、
各々のプロセッシング・エレメントが、垂直走査期間中に各対応する垂直方向の画素列について各々の前記階調度範囲毎に前記度数を演算する垂直方向の度数演算工程と、
その後に続く垂直ブランキング期間中に、全部または一部の前記プロセッシング・エレメントが協働して、垂直方向の全部または一部の画素列分の前記度数を各々の前記階調度範囲毎に水平方向で合計して、当該フィールドまたはフレームにおける各々の前記階調度範囲分の度数を演算する水平方向の度数演算工程と
を含む請求項５〜８のいずれか一項に記載の画像階調変換方法。
【請求項１０】
各々のプロセッシング・エレメントが、複数の前記階調度範囲にそれぞれ対応した複数の度数演算値記憶部を有し、前記垂直方向の度数演算工程では、垂直方向の各対応する画素列において各入力画素がいずれの前記階調度範囲に入るのかを判定して、その該当する前記階調度範囲に対応する前記度数演算記憶部の内容に「１」を加算するとともに、他の全ての前記度数演算値保持部の内容に「０」に加える請求項９記載の画像階調変換方法。
【請求項１１】
前記水平方向における度数合計演算を複数回に分割し、相前後する２つの水平方向の度数合計演算では、前の度数合計演算で得られた全てのプロセッシング・エレメントの演算結果をいったん前記並列プロセッサより出力して、その出力した全演算結果の中で所定のプロセッシング・エレメントに対応する演算結果だけを前記並列プロセッサに入力して後の度数合計演算の演算対象とする請求項９に記載の画像階調変換方法。
【請求項１２】
各回の前記度数演算工程で求めた前記度数を所定数の後続フィールドまたはフレームの入力画像信号に対する前記階調変換工程に用いる請求項５〜７のいずれか一項に記載の画像階調変換方法。
【請求項１３】
前記度数に所定の下限値または上限値を設定し、いずれかの前記階調度範囲における度数が前記下限値より少ないかまたは前記上限値より多いときは、その度数のうちの前記下限値を下回る分または前記上限値を超える分について他の前記階調度範囲における度数との間で分配を行って、前記下限値または前記上限値以内に補正する請求項１〜４のいずれか一項に記載の画像階調変換方法。
【請求項１４】
前記入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、前記最小階調度と前記最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって前記複数の階調度範囲を決定する階調度範囲演算工程とを含む請求項１または請求項２に記載の画像階調変換方法。
【請求項１５】
１フィールドまたは１フレーム分の前記入力画像信号を単位として前記最小及び最大階調度演算工程を行う請求項１４に記載の画像階調変換方法。
【請求項１６】
所定数のフィールドまたはフレーム置きに前記最小及び最大階調度演算工程を行う請求項１４または請求項１５に記載の画像階調変換方法。
【請求項１７】
１フィールドまたは１フレーム内の一部の入力画像領域についてのみ前記最小及び最大階調度演算工程を行う請求項１４〜１６のいずれか一項に記載の画像階調変換方法。
【請求項１８】
所定の間隔を置いた画素および所定の間隔を置いた走査線についてのみ前記最小及び最大階調度演算工程を行う請求項１４〜１７のいずれか一項に記載の画像階調変換方法。
【請求項１９】
各回の前記最小及び最大階調度演算工程で求められる前記最小階調度および前記最大階調度は、前回の前記最小及び最大階調度演算工程で求められた前記最小階調度および前記最大階調度に第１の係数ｋ（０≦ｋ≦１）を掛けたものと、今回のフィールドまたはフレームにおける入力画像信号の最小階調値および最大階調度に第２の係数（１−ｋ）を掛けたものとの和である請求項１４〜１８のいずれか一項に記載の画像階調変換方法。
【請求項２０】
前記最小及び最大階調度演算工程は、
各々のプロセッシング・エレメントが、垂直走査期間中に各対応する垂直方向の画素列について最小階調度および最大階調度を演算する垂直方向の最小及び最大階調度演算工程と、
その後に続く垂直ブランキング期間中に、全部または一部の前記プロセッシング・エレメントが協働して、垂直方向の全部または一部の画素列分の前記最小階調度および最大階調度を水平方向で比較して、当該フィールドまたはフレーム分の前記最小階調度および前記最大階調度を演算する水平方向の最小及び最大階調度演算工程と
を含む請求項１４〜１８のいずれか一項に記載の画像階調変換方法。
【請求項２１】
各々のプロセッシング・エレメントが、最小階調度に対応した最小階調度記憶部を有し、前記垂直方向の最小階調度演算工程では、垂直ブランキング期間中に予め前記最小階調度記憶部に入力画像信号のとりうる最大階調度をセットし、その後の垂直走査期間中に垂直方向の各対応する画素列について各画素毎に順次前記最小階調度記憶部の内容と比較し、小さい方を前記最小階調度記憶部の新たな内容として保存する請求項２０に記載の画像階調変換方法。
【請求項２２】
各々のプロセッシング・エレメントが、最大階調度に対応した最大階調度記憶部を有し、前記垂直方向の最大階調度演算工程では、垂直ブランキング期間中に予め前記最大階調度記憶部に入力画像信号のとりうる最小階調度をセットし、その後の垂直走査期間中に垂直方向の各対応する画素列について各画素毎に順次前記最大階調度記憶部の内容と比較し、大きい方を前記最大階調度記憶部の新たな内容として保存する請求項２０に記載の画像階調変換方法。
【請求項２３】
前記水平方向における最小階調度および最大階調度の演算をトーナメント方式で行う請求項２０に記載の画像階調変換方法。
【請求項２４】
前記トーナメント方式による最小階調度および最大階調度の演算を複数回のトーナメントに分割し、相前後する２つのトーナメントの間では前のトーナメントで得られた全てのプロセッシング・エレメントの演算結果をいったん前記並列プロセッサより出力し、その出力した全演算結果の中で所定のプロセッシング・エレメントに対応する演算結果だけを前記並列プロセッサに入力して後のトーナメントの演算対象とする請求項２３に記載の画像階調変換方法。
【請求項２５】
前記階調変換工程は、各々の前記階調度範囲毎に前記階調変換曲線の傾きを前記度数に比例させ、相隣接する２つの前記階調度範囲の境界で出力画像の階調度を連続させる工程を含む請求項２または請求項４に記載の画像階調変換方法。
【請求項２６】
１つの画面上に表示されるべき複数の画像に対応する複数の入力画像信号について、前記度数演算工程を各入力画像信号毎に、かつ交互に行う請求項１〜２５のいずれかに記載の画像階調変換方法。
【請求項２７】
走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサに、
前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算手順と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する諧調変換手順と
を実行させ、
前記階調変換手順において、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング手順と、
各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ手順と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算手順と、
前記第１の乗算手順の実行による演算結果を全て加え合わせる第１の加算手順と、
最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算手順と、
前記第１の加算手順の実行による演算結果と前記第２の乗算手順の実行による演算結果とを加え合わせる第２の加算手順と
を実行させるためのプログラムを記録した記憶媒体。
【請求項２８】
走査線上の画素に割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサに、
前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算手順と、
前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算手順と、
前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換手順と、
を実行させ、
前記階調変換手順において、各々のプロセッシング・エレメントによって、
各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング手順と、
各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ手順と、
各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算手順と、
前記第１の乗算手順の実行による演算結果を全て加え合わせる第１の加算手順と、
最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算手順と、
前記第１の加算手順の実行による演算結果と前記第２の乗算手順の実行による演算結果とを加え合わせる第２の加算手順と
を実行させるためのプログラムを記録した記憶媒体。
【発明の詳細な説明】
【００１０】
【発明の属する技術分野】
本発明は、ディジタル処理技術で画像の階調を変換する方法に関する。
【００２０】
【従来の技術】
ディジタル方式の画像処理技術では、画像の絵柄に応じて画像の階調を変換する処理を高画質化の一手法としている。
【００３０】
図３４に、画像階調変換の基本原理を模式的に示す。この図において、横軸は入力画像ＶＭinのとり得る階調度の範囲を示し、縦軸は出力画像ＶＭout のとり得る階調度の範囲を示す。
【００４０】
入力画像ＶＭinに画像階調変換を施さなければ、どの階調度でも一定のゲインで画像信号が出力される。この場合、図３４の直線Ｌ0 で示すように、入力画像ＶＭinの階調度と出力画像ＶＭout の階調度とは線形的な関係になる。
【００５０】
しかし、明るい絵柄の画像に対しては、たとえば図３４の曲線ＬB で示すような非線形的な階調特性とし、階調度の低い画像信号よりも階調度の高い画像信号の方のゲインを相対的に高くしたほうが、画像全体の階調の精細度が向上する。逆に、絵柄が暗いときは、たとえば図３４の曲線ＬA で示すような非線形的な階調特性にして、階調度の低い画像信号の方を階調度の高い画像信号よりも高くすることで、画質を向上できる。
【００６０】
従来において、テレビ受像機等における動画像処理システムは、マイクロプロセッサを標準装備しているものの、テレビ画像の伝送レートが非常に高いため、上記のような階調変換処理をゲートアレイまたはＡＳＩＣ等の専用ハードウェア回路に委ねている。
【００７０】
この種の専用ハードウェア回路は、入力した画像信号を画素単位で逐次的または時系列的に扱って、階調変換のための所定のアルゴリズムを実行し、階調変換された出力画像信号を得るようにしている。
【００８０】
【発明が解決しようとする課題】
しかしながら、上記のような従来の専用ハードウェア回路を用いる方法では、階調変換のアルゴリズムまたはロジックが特化ないし固定されるため、マルチメディア時代の多種多様な画像フォーマットにフレキシブルに対応できないという不都合がある。たとえば、ＮＴＳＣ信号用の専用ハードウェア回路は、ＮＴＳＣ信号についてのみ一定の階調変換を行えるだけであり、他のフォーマットたとえばＰＡＬ方式の画像信号を扱えるものではない。
【００９０】
したがって、ＮＴＳＣ信号、衛星放送、ハイビジョン信号、パソコン出力信号等の種々多様な映像信号に対応可能な階調変換機能を１台のテレビ受像機に装備するとなると、映像信号の種類別の専用ハードウェア回路を全部内蔵しなくてはならず、非常に高価で大型な装置となってしまう。
【０１００】
しかも、従来のように入力画像信号を画素単位で逐次的または時系列的に処理する方式では、ハイビジョンのように画像信号の伝送レートが高くなると、階調変換のような複雑な処理が難しくなり、それだけロジックも複雑化し、回路規模も大きくなる。そして、専用ハードウェア回路は、ロジックが複雑化するほど、ゲート数が指数関数的に増大するため、設計およびシュミレーションが難しくなり、開発期間が大いに長びくという不具合もある。
【０１１０】
本発明は、かかる問題点に鑑みてなされたもので、多種多様な画像フォーマットに１つのハードウェアシステムで効率よく対応できるようにした画像階調変換方法を提供することを目的とする。
【０１２０】
また、本発明は、動画像に対して多様かつ高度な階調変換を容易に行える画像階調変換方法を提供することを目的とする。
【０１３０】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の観点における画像階調変換方法は、走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程とを有し、前記階調変換工程が、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング工程と、各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程とを含む。
【０１４０】
また、本発明の第２の観点における画像階調変換方法は、走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算工程と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程とを有し、前記階調変換工程が、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング工程と、各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程とを含む。
【０１５０】
また、本発明の第３の観点における画像階調変換方法は、走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と、前記入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、前記最小階調度と前記最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって前記複数の階調度範囲を決定する階調度範囲演算工程とを有し、前記階調変換工程が、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記最小階調度の値をコアリングレベルとするコアリング演算を行う第１のコアリング工程と、前記第１のコアリング工程の演算結果について前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行う第２のコアリング工程と、各々の前記第２のコアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、最終回の前記第２のコアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と、前記第２の加算工程の演算結果と前記最小階調度とを加え合わせる第３の加算工程と、前記第３の加算工程の演算結果と前記最大階調度とを比較し、小さい方を選択する最小値演算工程とを含む。
【０１６０】
また、本発明の第４の観点における画像階調変換方法は、走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサによって、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算工程と、前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算工程と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換工程と、前記入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、前記最小階調度と前記最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって前記複数の階調度範囲を決定する階調度範囲演算工程とを有し、前記階調変換工程が、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記最小階調度の値をコアリングレベルとするコアリング演算を行う第１のコアリング工程と、前記第１のコアリング工程の演算結果について前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行う第２のコアリング工程と、各々の前記第２のコアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、最終回の前記第２のコアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算工程と、前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程と、前記第２の加算工程の演算結果と前記最小階調度とを加え合わせる第３の加算工程と、前記第３の加算工程の演算結果と前記最大階調度とを比較し、小さい方を選択する最小値演算工程とを含む。
【０１７０】
本発明の画像階調変換方法においては、上記のような構成により、非線形処理用の特殊なメモリを使用しなくても、ＳＩＭＤ型並列プロセッサの演算処理によって非線形の諧調変換を実現し、動画像に対して多様かつ高度な階調変換を行うことができる。
【０１８０】
本発明の好適な一態様においては、１フィールドまたは１フレーム分の入力画像信号を単位として度数演算工程を行う。この場合、好ましくは、所定数のフィールドまたはフレーム置きに、および／または１フィールドまたは１フレーム内の一部の入力画像領域についてのみ、度数演算工程を行ってよい。
【０１９０】
本発明の好適な一態様においては、所定の間隔を置いた画素および所定の間隔を置いた走査線についてのみ度数演算工程を行う。
【０２００】
本発明の好適な一態様において、度数演算工程は、各々のプロセッシング・エレメントが、垂直走査期間中に各対応する垂直方向の画素列について各々の階調度範囲毎に度数を演算する垂直方向の度数演算工程と、その後に続く垂直ブランキング期間中に、全部または一部の前記プロセッシング・エレメントが協働して、垂直方向の全部または一部の画素列分の度数を各々の階調度範囲毎に水平方向で合計して、当該フィールドまたはフレームにおける各々の階調度範囲分の度数を演算する水平方向の度数演算工程とを含む。
【０２１０】
この場合、好ましくは、各々のプロセッシング・エレメントが、複数の階調度範囲にそれぞれ対応した複数の度数演算値記憶部を有し、垂直方向の度数演算工程では、垂直方向の各対応する画素列において各入力画素がいずれの前記階調度範囲に入るのかを判定して、その該当する前記階調度範囲に対応する度数演算記憶部の内容に「１」を加算するとともに、他の全ての度数演算値保持部の内容に「０」に加えてよい。
【０２２０】
あるいは、水平方向における度数合計演算を複数回に分割し、相前後する２つの水平方向の度数合計演算では、前の度数合計演算で得られた全てのプロセッシング・エレメントの演算結果をいったん並列プロセッサより出力して、その出力した全演算結果の中で所定のプロセッシング・エレメントに対応する演算結果だけを並列プロセッサに入力して後の度数合計演算の演算対象としてもよい。
【０２３０】
本発明の好適な一態様においては、各回の度数演算工程で求めた度数を所定数の後続フィールドまたはフレームの入力画像信号に対する階調変換工程に用いる。
【０２４０】
本発明の好適な一態様においては、度数に所定の下限値または上限値を設定し、いずれかの階調度範囲における度数が下限値より少ないかまたは上限値より多いときは、その度数のうちの下限値を下回る分または上限値を超える分について他の階調度範囲における度数との間で分配を行って、下限値または上限値以内に補正する。
【０２５０】
本発明の好適な一態様においては、入力画像信号の最小階調度および最大階調度を求める最小及び最大階調度演算工程と、最小階調度と最大階調度との間の階調度範囲を等間隔で予め設定した数に分割することによって複数の階調度範囲を決定する階調度範囲演算工程とが更に含まれる。
【０２６０】
この場合、更に好ましくは、１フィールドまたは１フレーム分の入力画像信号を単位として上記最小及び最大階調度演算工程が行われる。また、更に好ましくは、所定数のフィールドまたはフレーム置きに上記最小及び最大階調度演算工程が行われる。あるいは、１フィールドまたは１フレーム内の一部の入力画像領域についてのみ上記最小及び最大階調度演算工程が行われる。
【０２７０】
また、所定の間隔を置いた画素および所定の間隔を置いた走査線についてのみ最小及び最大階調度演算工程を行ってもよい。
【０２８０】
本発明の好適な一態様において、各回の最小及び最大階調度演算工程で求められる最小階調度および最大階調度は、前回の最小及び最大階調度演算工程で求められた最小階調度および最大階調度に第１の係数ｋ（０≦ｋ≦１）を掛けたものと、今回のフィールドまたはフレームにおける入力画像信号の最小階調値および最大階調度に第２の係数（１−ｋ）を掛けたものとの和である。
【０２９０】
本発明の好適な一態様において、上記最小及び最大階調度演算工程は、各々のプロセッシング・エレメントが、垂直走査期間中に各対応する垂直方向の画素列について最小階調度および最大階調度を演算する垂直方向の最小及び最大階調度演算工程と、その後に続く垂直ブランキング期間中に、全部または一部の前記プロセッシング・エレメントが協働して、垂直方向の全部または一部の画素列分の最小階調度および最大階調度を水平方向で比較して、当該フィールドまたはフレーム分の最小階調度および最大階調度を演算する水平方向の最小及び最大階調度演算工程とを含む。
【０３００】
本発明の好適な一態様においては、各々のプロセッシング・エレメントが、最小階調度に対応した最小階調度記憶部を有し、垂直方向の最小階調度演算工程では、垂直ブランキング期間中に予め最小階調度記憶部に入力画像信号のとりうる最大階調度をセットし、その後の垂直走査期間中に垂直方向の各対応する画素列について各画素毎に順次最小階調度記憶部の内容と比較し、小さい方を最小階調度記憶部の新たな内容として保存する。
【０３１０】
本発明の好適な一態様においては、各々のプロセッシング・エレメントが、最大階調度に対応した最大階調度記憶部を有し、垂直方向の最大階調度演算工程では、垂直ブランキング期間中に予め最大階調度記憶部に入力画像信号のとりうる最小階調度をセットし、その後の垂直走査期間中に垂直方向の各対応する画素列について各画素毎に順次最大階調度記憶部の内容と比較し、大きい方を最大階調度記憶部の新たな内容として保存する。
【０３２０】
また、水平方向における最小階調度および最大階調度の演算をトーナメント方式で行ってもよい。
【０３３０】
この場合、好適には、トーナメント方式による最小階調度および最大階調度の演算を複数回のトーナメントに分割し、相前後する２つのトーナメントの間では前のトーナメントで得られた全てのプロセッシング・エレメントの演算結果をいったん並列プロセッサより出力し、その出力した全演算結果の中で所定のプロセッシング・エレメントに対応する演算結果だけを並列プロセッサに入力して後のトーナメントの演算対象としてよい。
【０３４０】
本発明の好適な一態様によれば、上記第３または第４の観点における画像階調変換方法において、階調変換工程は、各々の階調度範囲毎に階調変換曲線の傾きを度数に比例させ、相隣接する２つの階調度範囲の境界で出力画像の階調度を連続させる工程を含む。
【０３５０】
本発明の好適な一態様においては、１つの画面上に表示されるべき複数の画像に対応する複数の入力画像信号について、前記度数演算工程を各入力画像信号毎に、かつ交互に行う。
【０３５５】
請求項２４に記載の発明は、請求項１または２に記載の画像階調変換方法において、前記階調変換工程が、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング工程と、各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ工程と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算工程と、前記第１の乗算工程の演算結果を全て加え合わせる第１の加算工程と、最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換の傾きとを乗算する第２の乗算工程と、前記第１の加算工程の演算結果と前記第２の乗算工程の演算結果とを加え合わせる第２の加算工程とを含む。
【０３８０】
本発明の第１の観点における記録媒体は、走査線上の画素に１対１の対応関係で割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサに、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算手順と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記度数に応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する諧調変換手順とを実行させ、前記階調変換手順において、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング手順と、各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ手順と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算手順と、前記第１の乗算手順の実行による演算結果を全て加え合わせる第１の加算手順と、最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算手順と、前記第１の加算手順の実行による演算結果と前記第２の乗算手順の実行による演算結果とを加え合わせる第２の加算手順とを実行させるためのプログラムを記録してなる。
【０３９０】
本発明の第２の観点における記録媒体は、走査線上の画素に割り当てられ、かつ共通の命令にしたがって同一の動作を行う複数個のプロセッシング・エレメントを有し、入力した画像信号を走査線単位で処理する機能を有するＳＩＭＤ型並列プロセッサに、前記入力画像信号の階調度を画素毎にそれぞれ所定の幅を有する複数の階調度範囲のいずれかに分類し、各々の前記階調度範囲に入る画素を計数して度数を求める度数演算手順と、前記ＳＩＭＤ型並列プロセッサにより、各々の前記階調度範囲毎に前記度数に応じた階調変換曲線の傾きを求める傾き演算手順と、前記ＳＩＭＤ型並列プロセッサにより、前記入力画像信号に対して前記階調度範囲および前記傾きに応じた非線形処理を演算で施して、前記入力画像信号の階調度を変換する階調変換手順と実行させ、前記階調変換手順において、各々のプロセッシング・エレメントによって、各対応する入力画素データについて前記階調度範囲の個数に応じた回数だけ続けて前記階調度範囲の幅の値をコアリングレベルとするコアリング演算を行うコアリング手順と、各々の前記コアリング演算の演算前後の値の差分を求めてクリップするクリップ手順と、各々の前記クリップ演算の演算結果と各対応する前記度数または前記階調変換曲線の傾きとを乗算する第１の乗算手順と、前記第１の乗算手順の実行による演算結果を全て加え合わせる第１の加算手順と、最終回の前記コアリング演算の演算結果とそれに対応する前記度数または前記階調変換曲線の傾きとを乗算する第２の乗算手順と、前記第１の加算手順の実行による演算結果と前記第２の乗算手順の実行による演算結果とを加え合わせる第２の加算手順とを実行させるためのプログラムを記録してなる。
【０４００】
【発明の実施の形態】
以下、図１〜図３３を参照して本発明の実施例を説明する。
【０４１０】
図１に、本発明の画像階調変換方法で用いるＳＩＭＤ（Single-Instruction  Multiple-Data ）型並列プロセッサの構成例を示す。
【０４２０】
このＳＩＭＤ型並列プロセッサは画像信号を走査線単位で入力、並列演算処理および出力するＳＶＰ（Scan-line Video Processor ）として構成されている。
【０４３０】
このＳＶＰ１０は、１チップ上にＳＶＰコア１２と命令発生部（ＩＧ）１４とを搭載している。ＳＶＰコア１２は、データ入力レジスタ（ＤＩＲ）１６、ＳＩＭＤ型ディジタル信号処理部１８およびデータ出力レジスタ（ＤＯＲ）２０の３層構造からなっている。
【０４４０】
ＤＩＲ１６は、外部制御回路からの制御信号（Control)と外部クロック回路からのクロック（SWCK）とＩＧ１４からのアドレス（ADDRESS)とにしたがって動作し、たとえば水平走査線３本分までの画像データＤ0 〜ＤN-1 （たとえば４８ビット×８６４画素）を繰り返し入力する。
【０４５０】
ＳＩＭＤ型ディジタル信号処理部１８は、１水平走査線上の画素数Ｎに等しい数（たとえば８６４個）のプロセッシング・エレメントＰＥ0 〜ＰＥN-1 を並列配置（接続）してなる。これらのプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥN-1 は、ＩＧ１４からの命令すなわちアドレス（ADDRESS)およびマイクロ命令（MICROINSTRUCTION）と外部クロック回路からのクロック（PCLK）とにしたがって並列動作し、各々対応する画素データＤ0 ，Ｄ1 ，…ＤN-1 について同一の画像処理演算を１水平走査期間内に実行する。
【０４６０】
ＤＯＲ２０は、外部制御回路からの制御信号（Control)と外部クロック回路からのクロック（SRCK）とＩＧ１４からのアドレス（ADDRESS)とにしたがって動作し、１水平走査期間毎にプロセッシング・エレメントＰＥ0 〜ＰＥN-1 からの演算処理結果のデータを水平走査線１本分の画像データＤ0'〜ＤN-1'（たとえば３２ビット×８６４画素）に揃えて出力する。
【０４７０】
ＤＩＲ１６、処理部１８およびＤＯＲ２０にそれぞれ供給されるクロック（SWCK) 、(PCLK)および（SRCK) は互いに非同期であってよい。また、ＤＩＲ１６から処理部１８へのデータ転送、および処理部１８からＤＯＲ２０へのデータ転送は、それぞれ水平ブランキング期間内に行われる。
【０４８０】
このように、ＤＩＲ１６、処理部１８およびＤＯＲ２０によりそれぞれ１水平走査線分のデータ入力、並列演算処理およびデータ出力がパイプライン方式で非同期かつ並列的に実行され、リアルタイムな画像処理が行われる。
【０４９０】
ＩＧ１４は、ＳＶＰコア１２をＳＩＭＤ型並列プロセッサとして動作させるため、所要のプログラムを保持するＲＡＭまたはＲＯＭからなるプログラムメモリと、ＳＶＰコア１２における処理途中の各種中間データを一時的に格納するためのレジスタ等を内蔵しており、外部からのモード信号（ＩＭＯＤＥ）やフラグ信号（ＩＧＦＬＡＧ−Ａ／Ｂ）等にしたがって、飛び越し、サブルーチンコール、割り込み等も行えるようになっている。
【０４９５】
本実施例において、フラグ信号（ＩＧＦＬＡＧ−Ａ）は入力画像信号より抽出された水平同期信号（HSYNC)に同期しており、モード信号（ＩＭＯＤＥ）は３つのモード０，１，２のいずれかを選択的に指示する。
【０５００】
なお、ＩＧ１４内の上記プログラムメモリには、本実施例による階調変換処理を行うためのプログラムが格納される。
【０５１０】
ここで、図２につきＳＶＰコア１２の内部の作用を概略的に説明する。ＳＶＰコア１２内の各部の動作は、上記したようにＩＧ１４からのアドレス（ADDRESS)およびマイクロ命令（MICROINSTRUCTION）や外部クロック回路からのクロック（PCLK) 等によって制御される。
【０５２０】
図２において、ＤＩＲ１６は１ライン分の入力画像データＤ0 〜ＤN-1 を蓄積できる記憶容量（たとえば４８ビット×８６４ワード）を有し、画素単位でブロック化されている。入力画像データＤ0 〜ＤN-1 がＤＩＲ１６内を転送される途中、各画素データ…，ＤK-2,ＤK-1,ＤK,ＤK+1,ＤK+2,…は１個ずつ次々と引き落とされるようにしてＤＩＲ１６の各ブロック…，Ｋ−２，Ｋ−１，Ｋ，Ｋ＋１，Ｋ＋２，…のレジスタ群に取り込まれる。
【０５３０】
処理部１８の各プロセッシング・エレメントＰＥK は、各々が所定の容量（たとえば１９２ビット）を有する一対のレジスタ・ファイルＲＦ0,ＲＦ1 と、１個の１ビット演算論理ユニット（ＡＬＵ）２４と、複数個（たとえば４個）のワーキング・レジスタＷＲｓ（Ｍ，Ａ，Ｂ，Ｃ）２６と、左右隣の複数個（たとえば左右各４個）のプロセッシング・エレメント（ＰＥK-4,ＰＥK-3,ＰＥK-2,ＰＥK-1 ，ＰＥK+1,ＰＥK+2,ＰＥK+3,ＰＥK+4 ）とデータをやりとりするＬ／Ｒ（左右）通信部（ＬＲＣＯＭ）２８とを有している。
【０５４０】
一方のレジスタ・ファイルＲＦ0 はＤＩＲ１６の対応するブロックのレジスタ群に接続され、他方のレジスタ・ファイルＲＦ1 はＤＯＲ２０の対応するブロックのレジスタ群に接続されている。レジスタ・ファイルＲＦ0,ＲＦ1 の片方または双方から読み出された１ビットのデータは、ワーキング・レジスタ（Ｍ，Ａ，Ｂ，Ｃ）のいずれかに与えられるとともに、Ｌ／Ｒ通信部２８のマルチプレクサ３０およびラッチ回路３２を介して隣接する左右各４個のプロセッシング・エレメント（ＰＥK-4,ＰＥK-3,ＰＥK-2,ＰＥK-1 ，ＰＥK+1,ＰＥK+2,ＰＥK+3,ＰＥK+4 ）へ送られる。
【０５５０】
これと同時に、それら隣の各プロセッサ・エレメント（ＰＥK-4,ＰＥK-3,ＰＥK-2,ＰＥK-1 ，ＰＥK+1,ＰＥK+2,ＰＥK+3,ＰＥK+4 ）からのデータも当該プロセッサ・エレメントＰＥK のＬ／Ｒ通信部２８のマルチプレクサ３４，３６に送られてきて、それらのデータの中のいずれか１つが選択されてワーキング・レジスタ（Ｍ，Ａ，Ｂ，Ｃ）のいずれかに入力される。図２では、左隣のプロセッサ・エレメント（ＰＥK-4,ＰＥK-3,ＰＥK-2,ＰＥK-1 ）からのデータの中のいずれか１つが選択され、ワーキング・レジスタ（Ａ）に入力されたことを示している。
【０５６０】
ＡＬＵ２４は、ワーキング・レジスタ（Ｍ，Ａ，Ｂ，Ｃ）より与えられるデータについて所要の演算を実行し、その演算結果を出力する。ＡＬＵ２４の演算結果のデータは、レジスタ・ファイルＲＦ0,ＲＦ1 のいずれかに書き込まれる。概して、各水平走査期間における最後の演算結果のデータは最終演算処理結果の画素データＤK'として出力側のレジスタ・ファイルＲＦ1 に書き込まれ、直後の水平ブランキング期間中にこのレジスタ・ファイルＲＦ1 からＤＯＲ２０の対応するブロックのレジスタに移される。
【０５７０】
ＤＯＲ２０は、１ライン分の出力画像データＤ0'〜ＤN-1'を蓄積できる記憶容量（たとえば３２ビット×８６４ワード）を有し、画素単位でブロック化されている。各ブロック毎に処理部１８よりＤＯＲ２０に送られてきた演算処理結果の画素データＤ0'〜ＤN-1'は、１水平走査期間をかけて左端の画素データＤ0'を先頭に後続の画素データＤ1', Ｄ2', …が数珠繋ぎに続くように順にＤＯＲ２０の各ブロックから送出される。
【０５８０】
処理部１８は、レジスタ・ファイルＲＦ0,ＲＦ1 に２ライン分の画像データを蓄積することが可能であり、これによってラインメモリの機能も実現可能となっている。また、処理部１８は、１水平走査期間中に複数チャンネルの画像データについて時分割的に各個別の処理を実行することも可能である。
【０５９０】
なお、図１に示すように、ＤＯＲ２０の出力端子は、外部データ・パス２１を介してＤＩＲ１６の入力端子に接続されるとともに、内部データ・パス２３を介してＩＧ１４のデータ入力端子に接続されている。後述するように、ＳＶＰ１０は、各プロセッシング・エレメントＰＥの演算結果のデータをいったんＤＯＲ２０より出力してから、ＤＩＲ１６経由で、あるいはＩＧ１４経由で（この場合はマイクロ命令の一部として）再び任意のプロセッシング・エレメントＰＥのレジスタ・ファイルＲＦ0,ＲＦ1 に戻したり、さらには演算に使用したりすることができるようになっている。
【０６００】
以下に、このＳＶＰ１０において実施される本実施例の階調変換方法について説明する。
【０６０５】
この実施例では、一例として、階調変換の対象となる画像信号をカラーテレビジョン信号の輝度信号Ｙとし、その輝度レベルを階調度とし、１フィールドにおける有効走査画面の解像度をたとえば２４０ライン×７２０画素とする。もっとも、色信号Ｃまたは色差信号Ｒ−Ｙ，Ｂ−Ｙを処理対象とし、色レベルを階調度とすることも可能であり、画面の解像度も任意のフォーマットが可能である。
【０６１０】
図３に、本実施例における階調変換方法の原理を示す。本実施例では、入力画像信号Ｙinの階調度（輝度レベル）に対して等しい幅ＲＮＫｗd を有し、かつ連続した４つの階調度範囲ＲＮＧ0 ，ＲＮＧ1 ，ＲＮＧ2 ，ＲＮＧ3 を設定する。
【０６２０】
ここで、これら４つの階調度範囲ＲＮＧ0 〜ＲＮＧ3 の幅ＲＮＫｗd および最小階調度ＭＩＮd および最大階調度ＭＡＸd は、入力画像信号Ｙinのとりうる最も大きな階調度範囲［０〜LIMIT ］内で入力画像の階調に応じて一定の周期たとえば１フィールドまたはその整数倍の周期で動的に変化する値とする。なお、入力画像信号Ｙinが８ビット・データである場合、最大限界階調度LIMIT は「２５５」である。
【０６３０】
本実施例の方法では、入力画像の階調度を画素毎に上記４つの階調度範囲ＲＮＧ0 〜ＲＮＧ3 のいずれかに分類し、それぞれの階調度範囲ＲＮＧ0 〜ＲＮＧ3 に入る（該当する）画素を計数して、それぞれの度数ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 を求め、次いでそれらの度数ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 にそれぞれ応じた階調変換曲線の傾き（以下、ゲインと称する。）Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 を求める。
【０６４０】
ここで、各階調度範囲ＲＮＧにおけるゲインＡは、ヒストグラムの母数となる画素数および分類区分数（階調度範囲の個数）に応じた係数で各ＨＳＴに比例しており、図３に示すように、各隣接する２つの階調度範囲の境界で階調度特性（曲線）が連続している。
【０６５０】
そして、図３に示すような非線形特性にしたがって入力画像信号Ｙinの階調度を変換することにより、所望の階調度の出力画像信号Ｙout を得る。本実施例では、このような非線形の階調変換をＳＶＰ１０の演算処理によって実現する。
【０６６０】
次に、図４〜図２１につき、本実施例の階調変換を実現するためのＳＶＰ１０の処理動作について説明する。
【０６７０】
図４〜図７に、ＳＶＰ１０の処理手順をフローチャートで示す。図８および図９に、ＳＶＰ１０内における全体の処理およびデータの流れをそれぞれブロック図およびタイミング図で示す。また、図１０〜図２１は、ＳＶＰ１０における各段階の処理を説明するための図である。
【０６８０】
図４において、階調変換処理に先立ち、初期化を行う（ステップＳ0 ）。初期化では、先ず、ＤＩＲ１６およびＤＯＲ２０における入力／出力ポートにたとえば図１０に示すようなビット配分（割り付け）を設定する。
【０６９０】
図１０において、入力側のＤＩＲ１６では、４８ビットの入力端子のうち最下位の８ビット［０〜７］が入力画像信号Ｙinを入力するための入力ポートに充てられるとともに、その上位に３組の１０ビット・ポートＳ０in［１０〜１９］，Ｓ１in［２０〜２９］，Ｓ２in［３０〜３９］が設定される。
【０７００】
出力側のＤ０Ｒ２０では、３２ビットの出力端子のうち、最下位の１０ビット・ポートＳ０out ［０〜９］が出力画像信号Ｙout を出力するための出力ポートに充てられるとともに、その上位に２組の１０ビット・ポートＳ１out ［１０〜１９］，Ｓ２out ［２０〜２９］が設定される。
【０７１０】
Ｄ０Ｒ２０の出力ポートＳ０out ，Ｓ１out ，Ｓ２out は、外部データパス２１（２６，２４，２２）を介してＤ１Ｒ１６の入力ポートＳ０in，Ｓ１in，Ｓ２inに接続される。
【０７２０】
また、後述するように、本実施例では、４つの階調度範囲ＲＮＧ0 〜ＲＮＧ3 にそれぞれ対応する４つのゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）のデータがＤＯＲ２０の内部出力端子から出力され、内部データパス２３を介してＩＧ１４内の所定のレジスタ（ＡＵＸＦＢ）に転送されるようになっている。したがって、この初期化で、ＤＯＲ２０の内部出力端子に各ゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）のデータを出力するためのポートを設定しておく。また、これと対応して、ＩＧ１４側でも、各ゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）の値（データ）を格納するためのレジスタ領域（ＡＵＸＦＢ）を設定しておく。
【０７３０】
さらに、この初期化（ステップＳ0 ）では、図１１に示すように、各プロセッシング・エレメントＰＥに設けられているレジスタ・ファイルＲＦ0 ，ＲＦ1 の記憶領域内に各種のレジスタ領域を設定する。
【０７４０】
一方のレジスタ・ファイルＲＦ0 において、［ＭＩＮａ］，［ＭＡＸａ］は、垂直方向の最小階調度演算および最大階調度演算における演算途中または結果のデータを格納するためのレジスタ領域である。これらのレジスタ領域［ＭＩＮａ］，［ＭＡＸａ］は、この初期化で、および水平方向の統計処理の途中で、初期値にリセットされる。［ＭＩＮａ］の初期値は、画像信号のとりうる可能な最大階調値「２５５」であり、［ＭＡＸａ］の初期値は画像信号のとりうる可能な最小階調値「０」である。
【０７５０】
［ＨＳＴａ0 ］〜［ＨＳＴａ3 ］は、垂直方向の度数演算における演算途中または結果のデータを格納するためのレジスタ領域である。これらのレジスタ領域［ＨＳＴａ0 ］〜［ＨＳＴａ3 ］も、初期化と水平方向の統計処理の中で、それぞれ初期値「０」にリセットされる。
【０７６０】
また、［ＲＮＫｗc ］は、階調度範囲幅演算における演算途中または結果のデータを格納するためのレジスタ領域である。［Ａｘ0 ］〜［Ａｘ3 ］は、階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎のゲインＡ0 〜Ａ3 の演算結果を格納するためのレジスタ領域である。［Ｓ0 ］，［Ｔ0 ］は、非線形処理（ＬＵＴ）における演算途中または結果のデータを格納するためのレジスタ領域である。
【０７７０】
他方のレジスタ・ファイルＲＦ1 において、［Ｙ］は、入力画像データＹin中の各対応する画素データを格納するためのレジスタ領域である。［ＭＩＮb ］，［ＭＩＮc ］は、水平方向の一次および二次統計処理における最小階調度のデータをそれぞれ格納するためのレジスタ領域である。［ＭＡＸb ］，［ＭＡＸc ］は、水平方向の一次および二次統計処理における最大階調度のデータをそれぞれ格納するためのレジスタ領域である。
【０７８０】
また、［ＨＳＴｂ0 ］〜［ＨＳＴｂ3 ］は、水平方向の一次統計処理における各度数データをそれぞれ格納するためのレジスタ領域である。［ＨＳＴｃ0 ］〜［ＨＳＴｃ3 ］は、水平方向の二次統計処理における各度数のデータを格納するためのレジスタ領域である。
【０７９０】
［Ｋ0 ］，［Ｋ1 ］は、水平方向のデータ移動操作において移動の向きを指示するフラグビットを格納するためのレジスタ領域である。［ＭＩＮd ］，［ＭＡＸd ］，［ＲＮＫｗd ］は、非線形処理（ＬＵＴ）で用いる最小階調度、最大階調度および階調度範囲幅の値をそれぞれ格納するためのレジスタ領域である。また、［Ｓ1 ］，［Ｔ1 ］は、非線形処理（ＬＵＴ）における計算途中の各種データを格納するためのレジスタ領域である。［Ｆ1 ］は、垂直方向の度数演算処理で発生する符号ビット（sign bit）を格納するためのレジスタ領域である。
【０８００】
上記のレジスタ・ファイルＲＦ0 ，ＲＦ1 における各レジスタ領域には、所定のビット幅が割り当てられる。また、各レジスタ領域を各独立した記憶領域に設定できることはもろろん、機能的に異なるレジスタ領域を同一の記憶領域上で時分割的に使用（共用）することも可能である。
【０８０５】
レジスタ・ファイルＲＦ0 ，ＲＦ1 の領域設定は、必ずしもプログラム実行時に行わなくてもよく、プログラム作成時にプログラムに埋め込む形で行ってもよい。
【０８１０】
再び図４において、初期化を終了した後は、フラグＡ端子を監視して水平同期信号（HSYNC)を待ち（ステップＳ1 ）、水平同期信号が入ったならステップＳ2 に入る。
【０８２０】
このステップＳ2 では、正味の水平走査期間（映像信号期間）が始まる前に、前の水平走査期間の処理結果である各プロセッシング・エレメントＰＥの出力画素データＹ（ＤK'）をレジスタ・ファイルＲＦ0 のレジスタ領域［Ｔ0 ］からＤＯＲ２０の対応レジスタに転送する。
【０８３０】
もっとも、画面の開始直後は、該レジスタ領域［Ｔ0 ］が空になっている。図９から理解されるように、ＲＦ0 （［Ｔ0 ］）からＤＯＲ２０への実質的な出力画素データの転送（Ｙの出力）は、３番目の水平同期信号から開始される。
【０８４０】
ステップＳ2 の後は、モード信号を基に今回の水平走査期間のモード（ＩＭＯＤＥ）を判別する（ステップＳ3 ）。この実施例では、３つのモード０，１，２が設定され、垂直走査期間中はモード１，２の水平走査期間が１水平走査線ずつ交互に繰り返され、垂直ブランキング期間ではモード０になる。
【０８５０】
したがって、垂直走査期間中は、モード（ＩＭＯＤＥ）は１または２であり、０にはならない。したがって、ステップＳ4 に移り、まだ水平ブランキング期間が続いている間に、ＤＩＲ１６より１水平走査線分の入力画像信号Ｙinを処理部１８に取り込み、この入力画像信号Ｙinを構成する各画素データＹ（ＤK ）を各プロセッシング・エレメントＰＥK におけるレジスタ・ファイルＲＦ1 のレジスタ領域［Ｙ］に格納する。
【０８６０】
もっとも、各フィールドの開始直後は、ＤＩＲ１６は空になっている。図９から理解されるように、ＤＩＲ１６からＲＦ1 （［Ｙ］）への実質的な入力画素データの取り込み（Ｙの入力）は２番目の水平同期信号から開始される。
【０８７０】
次に、ステップＳ5 で、今回のモードが１もしくは２のいずれであるかを判別する。モード１の場合は、後述する非線形処理（ＬＵＴ）（ステップＳ8 ）だけを実行する。モード２の場合は、先ず垂直方向における最小階調度および最大階調度を求める統計処理（ステップＳ6 ）および各階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎の度数を求める統計処理（ステップＳ7 ）を順次行い、その後に非線形処理（ＬＵＴ）（ステップＳ8 ）を行う。
【０８８０】
図１２に、垂直方向における最小階調度、最大階調度および度数を求める統計処理の手法を概念的に示す。上記したように、このＳＶＰ１０では、１水平走査線単位で入力画像信号がＤＩＲ１６より処理部１８に転送され、その入力画像信号中の各画素データが各対応するプロセッシング・エレメントＰＥに取り込まれる。つまり、各プロセッシング・エレメントＰＥは、画面上の対応する列の画素データを垂直方向に１ライン周期で順次受け取る。
【０８９０】
本実施例によれば、図１２に示すように、各プロセッシング・エレメントＰＥが、垂直方向の各対応する列の各画素データを１個入力する度に最小階調度、最大階調度および度数の値を逐次更新していく仕方でＭＩＮ演算、ＭＡＸ演算および度数演算を実行し、垂直走査期間の終了時には垂直方向における最小階調度ＭＩＮａ、最大階調度ＭＡＸａおよび各階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎の度数ＨＳＴａ0 〜ＨＳＴａ3 の統計値を得るようにしている。
【０９００】
図１３に、垂直方向における最小階調度ＭＩＮａおよび最大階調度ＭＡＸａを得るための各プロセッシング・エレメントＰＥの処理（ステップＳ6 ）をブロック図で示す。
【０９１０】
上記したように、レジスタ・ファイルＲＦ0 のレジスタ領域［ＭＩＮａ］，［ＭＡＸａ］には初期値としてそれぞれ「２５５」，「０」がセットされている。図１３に示すように、各プロセッサ・エレメントＰＥは、各ライン毎に入力した各対応する列の画素データ（Ｙ）について、このデータの階調度をレジスタ領域［ＭＩＮａ］の内容と比較して値の小さい方をレジスタ領域［ＭＩＮａ］に残すとともに、このデータの階調度をレジスタ領域［ＭＡＸａ］の内容と比較して値の大きい方をレジスタ領域［ＭＡＸａ］に残す。このＭＩＮ演算およびＭＡＸ演算は、各プロセッサ・エレメントＰＥ内のＡＬＵ２４およびワーキング・レジスタＷＲｓを用いて行われる。
【０９２０】
上記のような垂直方向の逐次更新式ＭＩＮ，ＭＡＸ演算を水平走査線単位で繰り返す。この結果、最後（下端）の水平走査線に対するＭＩＮ，ＭＡＸ演算を終えた時点で、レジスタ領域［ＭＩＮａ］，［ＭＡＸａ］の内容は垂直方向の各対応する画素列について統計をとった最小階調度ＭＩＮａおよび最大階調度ＭＡＸａの値となっている。
【０９３０】
本実施例では、上記垂直方向のＭＩＮ，ＭＡＸ演算処理をモード１の水平走査線については行わず、モード２の水平走査線に対してのみ行う。つまり、水平走査線２本につき１回の割合で、１フィールドの有効走査線全体では２４０本のうち１２０本について行う。通常の画像では、隣接するビットの階調度が近似しているので、適当な間隔で水平走査線を間引いても、統計値ＭＩＮａ，ＭＡＸａの誤差は少ない。このような水平走査線の間引きにより、垂直方向における統計処理の冗長性を少なくし、効率化をはかることができる。
【０９４０】
図１４に、垂直方向における各階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎の度数ＨＳＴａ0 〜ＨＳＴａ3 を得るための各プロセッシング・エレメントＰＥの処理（ステップＳ7 ）をブロック図で示す。また、図１５に、入力画素データ（Ｙ）の４段階の値（階調度）に対するこのブロック図の各部の値を示す。
【０９５０】
図１４において、入力画素データ（Ｙ）をレジスタ領域［Ｙ］からレジスタ領域［Ｓ0 ］に転送したうえでこのレジスタ領域［Ｓ0 ］の内容（Ｙ）からレジスタ領域［ＭＩＮd ］の内容を減算し（Ｈ2 ）、その減算結果（差）をレジスタ領域［Ｓ0 ］の新たな内容とする。ここで、レジスタ領域［ＭＩＮd ］には、前回の最小階調度演算処理における最終統計値としての最小階調度ＭＩＮｄの値（データ）が格納されている。
【０９６０】
次に、レジスタ領域［Ｓ0 ］の内容からレジスタ領域［ＲＮＫｗd ］の内容を減算し（Ｈ3 ）、その減算結果（差）をレジスタ領域［Ｓ0 ］の新たな内容とする。そして、この減算演算（Ｈ3 ）よりマイナス符号（−）を示す論理値「１」の符号ビット（sign bit）が出力されたときは、この値１をレジスタ領域［Ｆ1 ］にセットする。
【０９７０】
したがって、入力画素データ（Ｙ）の値（階調度）が（ＭＩＮｄ＋ＲＮＫｗd ）よりも小さいときは、レジスタ領域［Ｆ1 ］の内容が１となる。これにより、加算演算（Ｈ5 ）でレジスタ領域［ＨＳＴａ0 ］に１が加算され、レジスタ領域［ＨＳＴａ0 ］の内容が１つ増える。
【０９８０】
この時、後段の減算演算（Ｈ6 ），（Ｈ10）ではマイナス符号（−）を示す１の符号ビット（sign bit）が出力され、排他的論理和演算（Ｈ7 ），（Ｈ11）および反転演算（Ｈ13）の出力は０となる。これにより、加算演算（Ｈ8 ），（Ｈ12），（Ｈ14）ではそれぞれレジスタ領域［ＨＳＴａ1 ］，［ＨＳＴａ2 ］，［ＨＳＴａ3 ］に０が加算され、これらのレジスタ領域の内容は変わらない。
【０９９０】
入力画素データ（Ｙ）の値（階調度）が（ＭＩＮｄ＋ＲＮＫｗd ）以上で、かつ（ＭＩＮｄ＋ＲＮＫｗd ×２）より小さいときは、減算演算（Ｈ3 ）の出力符号はプラス（＋）になるが、減算演算（Ｈ6 ），（Ｈ10）の出力符号はマイナス（−）に維持される。この場合、排他的論理和演算（Ｈ7 ）の出力が１になり、加算演算（Ｈ8 ）ではレジスタ領域［ＨＳＴａ1 ］に１が加算され、このレジスタ領域［ＨＳＴａ1 ］の内容が１つ増える。一方、他の加算演算（Ｈ5 ），（Ｈ12），（Ｈ14）ではそれぞれレジスタ領域［ＨＳＴａ0 ］，［ＨＳＴａ2 ］，［ＨＳＴａ3 ］に０が加算され、これらのレジスタ領域の内容は変わらない。
【１０００】
そして、入力画素データ（Ｙ）の値が（ＭＩＮｄ＋ＲＮＫｗd ×２）以上で、かつ（ＭＩＮｄ＋ＲＮＫｗd ×３）よりも小さいときは、レジスタ領域［ＨＳＴａ2 ］の内容だけが１つ増える。また、Ｙの値が（ＭＩＮｄ＋ＲＮＫｗd ×３）以上では、レジスタ領域［ＨＳＴａ3 ］の内容だけが１つ増える。
【１０１０】
上記のような演算処理により、垂直走査期間が終了した時点で、各レジスタ領域［ＨＳＴａ0 ］，［ＨＳＴａ1 ］，［ＨＳＴａ2 ］，［ＨＳＴａ3 ］の内容は垂直方向の各対応する画素列について統計をとった各階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎の画素計数値つまり度数ＨＳＴａ0 〜ＨＳＴａ3 を表す値（データ）となっている。
【１０２０】
もっとも、上記した垂直方向のＭＩＮ，ＭＡＸ演算処理と同様に、この垂直方向における度数演算処理も、モード１の水平走査線については行わず、モード２の水平走査線に対してのみ行われる。
【１０３０】
次に、図４において、非線形処理（ＬＵＴ）（ステップＳ8 ）は、各水平走査線期間において、つまりモード１，２のいずれにおいても、入力画像信号Ｙinに対して実行され、その演算結果として、図３に示すような非線形特性で階調変換された出力画像信号Ｙout が得られる。この非線形処理（ＬＵＴ）については、図２０につき後で詳細に説明する。
【１０４０】
図４において、ステップＳ3 で水平走査線期間のモードが０になった時、つまり垂直ブランキング期間に入った時は、垂直ブランキング期間中の処理（ＶＢＬＡＮＫ）（図５〜図７）に移行する。
【１０５０】
以下に説明するように、垂直ブランキング期間中には、上記した垂直方向の統計処理の演算結果を受け継いで水平方向の統計処理が実行されることにより、直前のフィールドにおける最終統計値としての最小階調度、最大階調度および度数が決定される。さらに、これらの最終統計値を基に所定の演算が行われることによって、線形処理（ＬＵＴ）で必要な階調度幅ＲＮＫｗd および各階調度範囲ＲＮＧ0 〜ＲＮＧ3 毎のゲインＡ0 〜Ａ3 が求められる。
【１０６０】
本実施例では、ＳＶＰの特性に鑑みて、水平方向の統計処理を一次および二次の２段階に分けることにより、統計データの情報圧縮化ないし処理効率の向上をはかっている。
【１０７０】
図１２には、水平方向の一次統計処理の手法も概念的に示されている。上記したように、垂直走査期間が終了した時点で、各プロセッシング・エレメントＰＥのレジスタ領域［ＭＩＮａ］，［ＭＡＸａ］，［ＨＳＴａ0 ］〜［ＨＳＴａ3 ］には、垂直走査期間内で垂直方向の各対応する画素列について統計をとった最小階調度ＭＩＮａ、最大階調度ＭＡＸａ、各度数ＨＳＴａ0 〜ＨＳＴａ3 の値（データ）がそれぞれ格納されている。
【１０８０】
この水平一次統計処理では、各々の統計項目（ＭＩＮ，ＭＡＸ，ＨＳＴ0 〜ＨＳＴ3 ）について水平方向に画素６個分の間隔（ピッチ）を置いて垂直方向における統計データ（ＭＩＮａ，ＭＡＸａ，ＨＳＴａ0 〜ＨＳＴａ3 ）を抽出し、その抽出した垂直統計データを画素６個分だけ離れて隣接する各３列分のデータに区分けし、各区分毎にＭＩＮ演算、ＭＡＸ演算および度数演算を行って、各統計項目につき水平方向における４０個の一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 〜ＨＳＴｂ3 ）を求める。
【１０９０】
図１６に、水平一次統計処理における処理部１８内の作用を示す。この統計処理は４つの命令（Ｂ1 ）〜（Ｂ4 ）によって実行される。
【１１００】
１回目の命令（Ｂ1 ）は条件付き移動命令（ＫＭＯＶ）であり、各プロセッシング・エレメントＰＥは自己のレジスタ領域［Ｋ1 ] にセットされている値に応じて２つ左先（Ｋ1 が１のとき）もしくは右先（Ｋ1 が０のとき）のプロセッシング・エレメントＰＥからデータを受け取る。この水平方向のデータ移動操作はＬ／Ｒ通信部２８を用いて行われる。
【１１１０】
本実施例では、画素６個置きの間隔で３列単位の統計をとるため、プロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，ＰＥ60，…ＰＥ708 を各区分の中心点とし、各区分内でこの中心点から左側のプロセッシング・エレメントＰＥにはＫ1 ＝１（→の向き）をセットし、右側のプロセッシング・エレメントＰＥにはＫ1 ＝０（←の向き）をセットしている。
【１１２０】
２回目の命令（Ｂ2 ）も条件付き移動命令（ＫＭＯＶ）であり、上記と同様な水平方向における２画素（ＰＥ）分のデータ移動操作を行う。この結果、各プロセッシング・エレメントＰＥ6 ，ＰＥ24，…の左右２つ先の位置に、左右に６個離れたプロセッシング・エレメント（ＰＥ0 ，ＰＥ12），（ＰＥ18，ＰＥ30），…からのデータが到達する。
【１１３０】
次に、第３および第４の命令（Ｂ3 ），（Ｂ4 ）でＭＩＮ，ＭＡＸまたは加算（ＡＤＤ）演算を２回続けて実行することで、各プロセッシング・エレメントＰＥ6 ，ＰＥ24，…は、自己のデータと左右６個離れたプロセッシング・エレメント（ＰＥ0 ，ＰＥ12），（ＰＥ18，ＰＥ30），…からのデータ（合計３個のデータ）との間での最小階調度ＭＩＮｂ、最大階調度ＭＡＸｂまたは度数ＨＳＴｂ0 〜ＨＳＴｂ3 を演算する。これらの演算結果は、レジスタ領域［ＭＩＮｂ］、［ＭＡＸｂ］、［ＨＳＴｂ0 ］〜［ＨＳＴｂ3 ］に格納される。
【１１４０】
このように、この水平方向の一次統計処理では、水平方向に一定の間隔を置いた３個の垂直統計データを１組の区分とし、各区分内でトーナメント方式によるＭＩＮ，ＭＡＸ演算を行って各区分毎の最小階調度ＭＩＮｂ、最大階調度ＭＡＸｂを求めるとともに、各区分内の合計演算により各区分毎の度数ＨＳＴｂ0 〜ＨＳＴｂ3 を求める。
【１１５０】
他のプロセッシング・エレメントＰＥも、同じ命令（Ｂ3 ），（Ｂ4 ）にしたがってＭＩＮ演算、ＭＡＸ演算または加算演算を行うが、結果として不要な演算結果を得る。
【１１６０】
上記のような処理部１８における水平方向の一次統計処理は、各々の統計項目（ＭＩＮ、ＭＡＸ、ＨＳＴ0 〜ＨＳＴ3 ）について行われる。本実施例では、２回に分けて、垂直ブランキング期間の最初の水平走査期間ではＭＩＮ、ＭＡＸおよびＨＳＴ0 の各々について上記水平一次統計処理を行い（ステップＳ10）、次（２番目）の水平走査期間ではＨＳＴ1 、ＨＳＴ2 およびＨＳＴ3 の各々について上記水平一次統計処理を行う（ステップＳ13）。
【１１７０】
なお、各々の統計項目（ＭＩＮ、ＭＡＸ、ＨＳＴ0 〜ＨＳＴ3 ）について上記水平方向の一次統計処理結果つまり水平一次統計データＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 〜ＨＳＴｂ3 が得られた時点で、各垂直統計データ（ＭＩＮａ，ＭＡＸａ，ＨＳＴａ0 〜ＨＳＴａ3 ）は用済みとなり、レジスタ領域［ＭＩＮａ］の内容が初期値「２５５」に、レジスタ領域［ＭＡＸａ］，［ＨＳＴａ0 ］〜［ＨＳＴａ3 ］の内容が初期値「０」にリセットされる（ステップＳ10，Ｓ13）。
【１１８０】
上記のように、水平方向の一次統計処理の結果として、処理部１８内では、４０個の統計区分のそれぞれの中心点に位置するプロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，…ＰＥ708 のレジスタ領域［ＭＩＮｂ］、［ＭＡＸｂ］、［ＨＳＴｂ0 ］〜［ＨＳＴｂ3 ］に、この一次統計処理の目的とする各４０個の最小階調度ＭＩＮｂ、最大階調度ＭＡＸｂ、度数ＨＳＴｂ0 〜ＨＳＴｂ3 の統計データが保持されている。
【１１９０】
他のプロセッシング・エレメントＰＥは、それらのプロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，…と同じ命令にしたがって動作するものの、この統計処理では不要なデータを各々のレジスタ領域［ＭＩＮｂ］、［ＭＡＸｂ］、［ＨＳＴｂ0 ］〜［ＨＳＴｂ3 ］に保持している。
【１２００】
そこで、次に、このような不所望な演算結果のデータを捨てて、目的とする水平方向の一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 〜ＨＳＴｂ3 ）だけを抽出する処理を行う。
【１２１０】
この抽出処理は、以下に説明するように、ＳＶＰ１０においてＤＯＲ２０からＤＩＲ１６へのデータ転送によって行われる。
【１２２０】
すなわち、垂直ブランキング期間の２番目の水平走査期間の開始時（厳密にはまだ水平ブランキング期間が続いている間）に、処理部１８の全てのプロセッシング・エレメントＰＥ0 〜ＰＥN-1 におけるレジスタ領域［ＭＩＮｂ］、［ＭＡＸｂ］、［ＨＳＴｂ0 ］の内容がＤＯＲ２０に一斉に転送される（ステップＳ12）。その中で、４０個のプロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，…ＰＥ708 のレジスタ領域［ＭＩＮｂ］、［ＭＡＸｂ］、［ＨＳＴｂ0 ］からＤＯＲ２０の対応レジスタに転送された分のデータが、目的とする各４０個の水平一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 ）である。
【１２３０】
そして、２番目の水平走査期間中に、処理部１８のプロセッシング・エレメントＰＥが残りの統計項目（ＨＳＴｂ1 、ＨＳＴｂ2 、ＨＳＴｂ3 ）の各々について水平方向の一次統計演算（ステップＳ13、図１６）を行うのと並行して、図９および図１９の＊１に示すように、ＤＯＲ２０に蓄積されているデータが読み出しクロックＳＲＣＫのタイミング（伝送レート）で外部データパス２１上に出力される。
【１２４０】
この際、ＤＯＲ２０においては、図１０に示すように、出力ポートＳ０out よりＭＩＮｂが、Ｓ１out よりＭＡＸｂが、Ｓ２out よりＨＳＴｂ0 がそれぞれデータパス２６，２４，２２上に出力される。
【１２５０】
一方、ＤＩＲ１６においては、図９および図１９の＊１に示すように、書き込みクロックＳＷＣＫがＤＯＲ２０の読み出しクロックＳＲＣＫに同期しており、４０個のプロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，…ＰＥ708 の演算結果（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 ）が入力ポートＳ０in，Ｓ１in，Ｓ２inに来た時だけライトイネーブル信号（ＤＩＲＷＥ）がアクティブとなる。
【１２６０】
こうして、ＤＩＲ１６は、ＤＯＲ２０より転送されるデータのうち不所望なデータを拒んで（入力することなく）、目的とする各４０個の水平一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 ）だけを入力することになる。
【１２７０】
上記のようにして垂直ブランキング期間の２番目の水平走査期間中にＤＩＲ１６に取り込まれた水平方向における各４０個の一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 ）は、次の３番目の水平走査期間の開始時にＤＩＲ１６から処理部１８に転送される（ステップＳ16）。
【１２８０】
この場合、各４０個の水平一次統計データ（ＭＩＮｂ、ＭＡＸｂ、ＨＳＴｂ0 ）は、処理部１８の先頭４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＨＳＴｃ0 ］に詰めて格納される。他のプロセッシング・エレメントＰＥ40〜ＰＥ719 のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＨＳＴｃ0 ］は実質的に空のままである。
【１２９０】
かくして、この３番目の水平走査期間中に、これら４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39において、統計項目（ＭＩＮ、ＭＡＸ、ＨＳＴ0 ）の各々について後述するような水平方向における二次統計処理が行われる（ステップＳ17）。
【１３００】
残りの水平一次統計データ（ＨＳＴｂ1 、ＨＳＴｂ2 、ＨＳＴｂ3 ）についても、１水平走査期間だけ時間を遅らせて上記と同様な動作が行われる。
【１３１０】
すなわち、垂直ブランキング期間の３番目の水平走査期間の開始時に、処理部１８の全てのプロセッシング・エレメントＰＥ0 〜ＰＥN-1 におけるレジスタ領域［ＨＳＴｂ1 ］、［ＨＳＴｂ2 ］、［ＨＳＴｂ3 ］の内容がＤＯＲ２０に一斉に転送される（ステップＳ15）。
【１３２０】
そして、３番目の水平走査期間中に、図９および図１９の＊２に示すように、ＤＯＲ２０に蓄積されているデータが読み出しクロックＳＲＣＫのタイミング（伝送レート）で外部データパス２１上に出力される。
【１３３０】
この際、ＤＯＲ２０においては、図１０に示すように、出力ポートＳ０out よりＨＳＴｂ3 が、Ｓ１out よりＨＳＴｂ2 が、Ｓ２out よりＨＳＴｂ1 がそれぞれデータパス２６，２４，２２上に出力される。
【１３４０】
一方、ＤＩＲ１６においては、図９および図１９の＊２に示すように、書き込みクロックＳＷＣＫがＤＯＲ２０の読み出しクロックＳＲＣＫに同期しており、４０個のプロセッシング・エレメントＰＥ6 ，ＰＥ24，ＰＥ42，…ＰＥ708 の演算結果（ＨＳＴｂ3 ，ＨＳＴｂ2 、ＨＳＴｂ1 ）が入力ポートＳ０in，Ｓ１in，Ｓ２inに来た時だけライトイネーブル信号（ＤＩＲＷＥ）がアクティブとなる。
【１３５０】
こうして、ＤＩＲ１６は、ＤＯＲ２０より転送されるデータのうち不所望なデータを拒んで（入力することなく）、目的とする各４０個の水平一次統計データ（ＨＳＴｂ1 ，ＨＳＴｂ2 、ＨＳＴｂ3 ）だけを入力することになる。
【１３６０】
上記のようにして垂直ブランキング期間の３番目の水平走査期間中にＤＩＲ１６に取り込まれた水平方向における各４０個の一次統計データ（ＨＳＴｂ1 ，ＨＳＴｂ2 、ＨＳＴｂ3 ）は、次の４番目の水平走査期間の開始時にＤＩＲ１６から処理部１８に転送され、先頭４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39のレジスタ領域［ＨＳＴｃ1 ］、［ＨＳＴｃ2 ］、［ＨＳＴｃ3 ］に詰めて格納される（ステップＳ21）。
【１３７０】
かくして、この４番目の水平走査期間中に、これら４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39において、統計項目（ＨＳＴｃ1 ，ＨＳＴｃ2 、ＨＳＴｃ3 ）の各々について後述するような水平方向における二次統計処理が行われる（ステップＳ22）。
【１３８０】
図１７および図１８に、水平方向の二次統計処理のための処理部１８内の作用を示す。図１７は最小階調度および最大階調度演算に係る処理であり、図１８は度数演算に係る処理である。
【１３９０】
図１７に示すように、水平二次統計処理における最小階調度および最大階調度演算は、実質的には上記４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39の間で、各々のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］に格納されている水平一次統計データ（ＭＩＮｃ、ＭＡＸｃ）についてトーナメント方式で行われる。このトーナメントは１５個の命令（Ｃ1 ）〜（Ｃ15）にしたがって実行される。
【１４００】
たとえば、最小階調度演算のトーナメントは次のようになる。各プロセッシング・エレメントＰＥにおいて、最初のステップ（Ｃ1 ）では、隣合う２つのデータ同士でＭＩＮ演算が行われ、小さい方がレジスタ領域［ＭＩＮc ］に残る。
【１４１０】
第２のステップ（Ｃ2 ）では、１つ置きに隣合うデータ同士でＭＩＮ演算が行われ、小さい方がレジスタ領域［ＭＩＮc ］に残る。
【１４２０】
第３のステップ（Ｃ3 ）では、各プロセッシング・エレメントＰＥのデータＭＩＮc を画素（ＰＥ）２個分だけ右方向にシフトさせ、計算途中データ保管レジスタ領域［Ｓ0 ］に格納する。
【１４３０】
第４のステップ（Ｃ4 ）では、各プロセッシング・エレメントＰＥが、左側２つ先のデータＳ0 と自己のデータＭＩＮｃとの間でＭＩＮ演算を行い、小さい方を自己のレジスタ領域［ＭＩＮc ］に残す。この段階で、プロセッシング・エレメントＰＥ4 ，ＰＥ12，ＰＥ20，ＰＥ28，ＰＥ36のレジスタ領域［ＭＩＮc ］に各８ブロック（ＰＥ0 〜ＰＥ7 ）、（ＰＥ8 〜ＰＥ15）、（ＰＥ16〜ＰＥ23）、……（ＰＥ32〜ＰＥ39）での最小階調度のデータが得られる。
【１４４０】
第５〜第７のステップ（Ｃ5 ）〜（Ｃ7 ）では、２１番目のプロセッシング・エレメントＰＥ20を中心として、その左側では右向きに、その右側では左向きに１回につき画素（ＰＥ）２個分だけデータＭＩＮｃをシフトさせる。
【１４５０】
この３回の条件付き移動命令によって、１３番目のプロセッシング・エレメントＰＥ12からのデータＭＩＮｃがプロセッシング・エレメントＰＥ20の左側２つ離れた位置（ＰＥ18）に到達するとともに、２９番目のプロセッシング・エレメントＰＥ28からのデータＭＩＮｃがプロセッシング・エレメントＰＥ20の右側２つ先の位置（ＰＥ22）に到達する。
【１４６０】
また、５番目のプロセッシング・エレメントＰＥ4 のデータＭＩＮｃが６つ右側の位置（ＰＥ10）まで移動するとともに、３５番目のプロセッシング・エレメントＰＥ36のデータＭＩＮｃが６つ左側の位置（ＰＥ30）まで移動する。
【１４７０】
以下、２１番目のプロセッシング・エレメントＰＥ20に着目すると、第８のステップ（Ｃ8 ）では左側２つ先（ＰＥ18）に到達したＰＥ12のデータＭＩＮｃと自己のデータＭＩＮｃとの間でＭＩＮ演算を行って小さい方を自己のレジスタ領域［ＭＩＮｃ］に残し、次の第９のステップ（Ｃ9 ）では右側２つ先（ＰＥ22）に到達したＰＥ28のデータＭＩＮｃと自己のデータＭＩＮｃとの間でＭＩＮ演算を行って小さい方を自己のレジスタ領域［ＭＩＮｃ］に残す。
【１４８０】
次いで、第１０〜１３のステップ（Ｃ10）〜（Ｃ13）では、４回の条件付き移動命令を通じて５番目のプロセッシング・エレメントＰＥ4 のデータＭＩＮｃを移動前の位置（ＰＥ10）から左側２つ先の位置（ＰＥ18）まで引き寄せるとともに、３５番目のプロセッシング・エレメントＰＥ36のデータＭＩＮｃを移動前の位置（ＰＥ30）から右側２つ先の位置（ＰＥ22）まで引き寄せる。
【１４９０】
そして、第１４および第１５のステップ（Ｃ14），（Ｃ15）で、それら左右２つ先（ＰＥ18，ＰＥ22）に到達したＰＥ4 ，ＰＥ36のデータＭＩＮｃと自己のデータＭＩＮｃとの間でＭＩＮ演算を行い、その中で最も小さいものを自己のレジスタ［ＭＩＮｃ］に残す。
【１５００】
上記のようなトーナメントの結果、２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［ＭＩＮｃ］に最後に残るデータＭＩＮｃが水平二次統計処理で求められた最小階調度であり、ひいては直前のフィールドについて求められた最小階調度である。
【１５１０】
最大階調度演算のトーナメントも、ＭＩＮ演算がＭＡＸ演算に置き換わるだけで、上記と同様の仕方で行われる。その結果、２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［ＭＡＸｃ］に、水平二次統計処理で求められた最大階調度のデータつまり直前のフィールドにおける最大階調度ＭＡＸｃのデータが得られる。
【１５２０】
なお、最小階調度および最大階調度演算のトーナメントにおいて、他の各プロセッシング・エレメントＰＥも、２１番目のプロセッシング・エレメントＰＥ20と同じ命令にしたがって動作するが、結果として不所望な演算結果を各レジスタ領域［ＭＩＮｃ］，［ＭＡＸｃ］に得ることになる。
【１５３０】
図１８に示すように、水平二次統計処理における度数演算は、上記４０個のプロセッシング・エレメントＰＥ0 ，ＰＥ1 ，…ＰＥ39のレジスタ領域［ＨＳＴｃ0 ］、［ＨＳＴｃ1 ］、［ＨＳＴｃ2 ］、［ＨＳＴｃ3 ］に格納されている水平一次統計データ（ＨＳＴｃ0 、ＨＳＴｃ1 、ＨＳＴｃ2 、ＨＳＴｃ3 ）をそれぞれ合計するものである。
【１５４０】
この合計演算は、１４個の命令（Ｄ1 ）〜（Ｄ14）にしたがって実行される。第１のステップ（Ｄ1 ）で各隣合う２つ（ＰＥ0 ，ＰＥ1 ）、（ＰＥ2 ，ＰＥ3 ）、……（ＰＥ38，ＰＥ39）の小ブロックにおける度数の合計（２０個）が求められ、第２のステップ（Ｄ2 ）で各隣合う４つ（ＰＥ0 〜ＰＥ3 ）、（ＰＥ4 〜ＰＥ7 ）、……（ＰＥ36〜ＰＥ39）の中ブロックにおける度数の合計（１０個）が求められ、第３のステップ（Ｄ3 ）で各隣合う８つ（ＰＥ0 〜ＰＥ7 ）、（ＰＥ8 〜ＰＥ15）、……（ＰＥ32〜ＰＥ39）の大ブロックにおける度数の合計（５個）が求められる。
【１５５０】
そして、第７、第８、第１３および第１４ステップ（Ｄ7 ），（Ｄ8 ），（Ｄ13）、（Ｄ14）で、これら５個の大ブロックを合わせた分の度数の合計が求められ、その最終合計値が２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［ＨＳＴｃ0 ］、［ＨＳＴｃ1 ］、［ＨＳＴｃ2 ］、［ＨＳＴｃ3 ］に得られる。
【１５６０】
第４〜第６のステップ（Ｄ4 ）〜（Ｄ6 ）および第９〜第１２のステップ（Ｄ9 ）〜（Ｄ12）では、２１番目のプロセッシング・エレメントＰＥ20を中心として両側４個の大ブロックの合計値を中心側に引き寄せるための条件付き移動命令が実行される。
【１５７０】
なお、上記したような水平二次統計処理における度数演算は、統計項目（ＨＳＴｃ0 、ＨＳＴｃ1 、ＨＳＴｃ2 、ＨＳＴｃ3 ）の各々について行われる。
【１５８０】
本実施例では、水平一次統計処理と関連し、水平二次統計処理についても統計項目（ＭＩＮ，ＭＡＸ，ＨＳＴ0 〜ＨＳＴ3 ）を２組に分け、垂直ブランキング期間の３番目の水平走査期間ではＭＩＮｃ，ＭＡＸｃ，ＨＳＴｃ0 の各々について上記水平二次統計処理の演算を行い（ステップＳ17）、４番目の水平走査期間でＨＳＴｃ1 ，ＨＳＴｃ2 ，ＨＳＴｃ3 の各々について上記水平二次統計処理の演算を行う（ステップＳ22）。
【１５９０】
さらに、３番目の水平走査期間中に、上記のような水平二次統計処理（ステップＳ17）に続けて、当該フィールド分の最小階調度ＭＩＮｃ，最大階調度ＭＡＸｃをテンポラリフィルタに通して前回の最小および最大階調度演算で求められた最小階調度ＭＩＮｄ，最大階調度ＭＡＸｄとそれぞれ一定の比率で混合したものを、改めて今回の最小および最大階調度演算で求めた最小階調度ＭＩＮｃ，最大階調度ＭＡＸｃとする（ステップＳ18）。
【１６００】
このテンポラリ・フイタルタリング処理は、図８に示すように、乗算器３０，３２と加算器３４とで実現される。後述するように、前回の最小および最大階調度演算で求められた最小階調度ＭＩＮｄ，最大階調度ＭＡＸｄは、ＩＧ１４の内部レジスタ（ＡＵＸＦＢ）を介してＳＶＰ１０の各プロセッシング・エレメントＰＥのレジスタ領域［ＭＩＮｄ］，［ＭＡＸｄ］に格納されている。
【１６１０】
このレジスタ領域［ＭＩＮｄ］，［ＭＡＸｄ］に乗算器３０で所定の比率または係数ｋ（０≦ｋ≦１）たとえば３／４を掛けたものと、レジスタ領域［ＭＩＮｃ］，［ＭＡＸｃ］の内容に乗算器３２で（１−ｋ）たとえば１／４を掛けたものとを加算器３４で加算し、その加算結果をレジスタ領域［ＭＩＮｃ］，［ＭＡＸｃ］の新たな内容とする。乗算器３０，３２および加算器３４は、各プロセッシング・エレメントＰＥ内のＡＬＵ２４およびワーキング・レジスタＷＲs 等によって実現される。
【１６２０】
このように、今回の最小階調度ＭＩＮｃ，最大階調度ＭＡＸｃに前回の最小階調度ＭＩＮｄ，最大階調度ＭＡＸｄが一定の割合で加味（混合）され、これが毎回繰り返されることで、何らかのノイズに起因して実体に合わない異常な最小階調度ＭＩＮｃまたは最大階調度ＭＡＸｃが生成されても、上記のようなテンポラリ・フィタルタリング処理でこのエラーが効果的にマスクされ、非線形処理（ＬＵＴ）の信頼性が保証されるようになっている。
【１６３０】
さらに、垂直ブランキング期間の第３の水平走査期間では、上記のようなテンポラリ・フイルタ（３０，３２，３４）に通した後の最小階調度ＭＩＮｃ、最大階調度ＭＡＸｃについて減算器３６で差分（ＭＡＸｃ−ＭＩＮｃ）を求め、この差分の値を全階調度範囲幅ＲＮＫｗｃの演算値としてレジスタ領域［ＲＮＫｗｃ］に格納する（ステップＳ18）。
【１６４０】
上記のようにして垂直ブランキング期間の第３の水平走査期間における処理が終了した時点で、ＳＶＰ１０の処理部１８では２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＲＮＫｗｃ］の内容が目的とする最小階調度ＭＩＮｃ、最大階調度ＭＡＸｃ、階調度範囲幅ＲＮＫｗｃであって、他の各プロセッシング・エレメントＰＥのレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＲＮＫｗｃ］の内容は不要なデータである。
【１６５０】
そこで、第４の水平走査期間の開始時に、全プロセッシング・エレメントＰＥ0 〜ＰＥN-1 のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＲＮＫｗｃ］の内容をいったんＤＯＲ２０に移し（ステップＳ20）、ＤＯＲ２０の内部出力端子より内部データ・パス２３を介してＩＧ１４に転送する。
【１６６０】
この際、レジスタ領域［ＲＮＫｗc ］の内容については、最下位２ビットを捨てて値を１／４に割算したもの（ＲＮＫｗc ／４）をＤＯＲ０に移す（ステップＳ20）。この値（ＲＮＫｗc ／４）は階調度範囲幅ＲＮＫｗｄに相当する。
【１６７０】
ＩＧ１４においては、図９および図１９の＊３に示すように、ＤＯＲ２０の読み出しクロックＳＲＣＫのタイミングでＤＯＲ２０からのデータつまりプロセッシング・エレメントＰＥ0 〜ＰＥN-1 のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＲＮＫｗｃ］の内容が入力ポートに与えられるが、外部タイミング制御部からのライトイネーブル信号ＡＵＸＦＢＷＥが２１番目のクロックＳＲＣＫのタイミングでアクティブとなる。
【１６８０】
これによって、ＩＧ１４は、目的とする２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［ＭＩＮｃ］、［ＭＡＸｃ］、［ＲＮＫｗｃ］からの最小階調度ＭＩＮｃ、最大階調度ＭＡＸｃ、階調度範囲幅ＲＮＫｗｃ／４のデータを最終統計値（ＭＩＮｄ、ＭＡＸｄ、ＲＮＫｗｄ）として取り込む。
【１６９０】
こうしてＩＧ１４の内部レジスタ（ＡＵＸＦＢ）に格納された最終統計データ（ＭＩＮｄ、ＭＡＸｄ、ＲＮＫｗｄ）は、この直後に、非線形処理（ＬＵＴ）で用いるためにマイクロ命令の一部として各プロセッシング・エレメントＰＥのレジスタ領域［ＭＩＮｄ］、［ＭＡＸｄ］、［ＲＮＫｗｄ］に転送される。
【１７００】
垂直ブランキング期間の４番目の水平走査期間では、上記水平二次統計処理（ステップＳ22）により残りの各度数（ＨＳＴｃ1 ，ＨＳＴｃ2 ，ＨＳＴｃ3 ）を演算した後、各階調度範囲ＲＮＧ0 ，ＲＮＧ1 ，ＲＮＧ2 ，ＲＮＧ3 毎に各最終度数統計値（ＨＳＴｃ0 ，ＨＳＴｃ1 ，ＨＳＴｃ2 ，ＨＳＴｃ3 ）を各対応するゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）に変換する（ステップＳ23）。本実施例において、この度数−ゲイン変換は下記の演算式▲１▼によって行われる。
【１７１０】
Ａi ＝（４／１４４００）＊（ＨＳＴｃi ＊６４）＊６４
＝１．１３８＊ＨＳＴｃi
≒（９／８）＊ＨＳＴｃi                   ………▲１▼
【１７２０】
ここで、この演算式▲１▼における定数「４」はヒストグラムの区分数つまり階調度範囲の個数（４）であり、定数「１４４００」はヒストグラムの母数つまり１フィールド内の統計処理対象となる画素数（２４０／２）×（７２０／６）である。また、括弧内の定数「６４」は計算量を軽減するようＨＳＴｃi の下位６ビットを切り捨て計算することにより生じる補正値であり、括弧外の定数「６４」は少数点以下６ビットまでの値を６４倍して整数表現するためのものである。
【１７３０】
この度数−ゲイン変換の演算結果（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）はそれぞれレジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］に格納される。
【１７４０】
なお、度数ＨＳＴまたはゲインＡに所定の下限値または上限値を設定し、いずれかの階調度範囲ＲＮＧにおける度数ＨＳＴまたはゲインＡが該下限値より少ないかまたは該上限値より多いときは、その度数またはゲインのうちの該下限値を下回る分の値または超える分の値を他の階調度範囲における度数またはゲインに適当な配分で分配することも可能である。
【１７５０】
すなわち、１つの階調度範囲に度数が過度に集中すると、階調度範囲における階調変換曲線の傾き（ゲイン）だけが極端に低くまたは大きくなって、全体的な非線形処理精度が低下するおそれがある。
【１７６０】
そこで、上記のように、足りない分または多すぎる分について他の階調度範囲との間で分配を行い、当該階調度範囲における度数またはゲインを上記下限値または上限値以内に制御または補正することが好ましい。
【１７７０】
上記の度数−ゲイン変換は上記水平二次統計処理（ステップＳ22）に引き続いて行われた演算であるから、２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］の内容が目的とするゲインＡ0 ，Ａ1 ，Ａ2 ，Ａ3 のデータであり、他の各プロセッシング・エレメントＰＥのレジスタ領域レジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］の内容は不要なデータである。
【１７８０】
そこで、５番目の水平走査期間の開始時に、全プロセッシング・エレメントＰＥ0 〜ＰＥN-1 のレジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］の内容をいったんＤＯＲ２０に移し、ＤＯＲ２０の内部出力端子より内部データ・パス２３を介してＩＧ１４に転送する。
【１７９０】
ＩＧ１４においては、図９および図１９の＊４に示すように、ＤＯＲ２０の読み出しクロックＳＲＣＫのタイミングでＤＯＲ２０からのデータつまりプロセッシング・エレメントＰＥ0 〜ＰＥN-1 のレジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］の内容が入力ポートに与えられるが、外部タイミング制御部からのライトイネーブル信号ＡＵＸＨＢＷＥが第２１番目のクロックの時だけアクティブとなる。
【１８００】
これによって、ＩＧ１４は、目的とする２１番目のプロセッシング・エレメントＰＥ20のレジスタ領域［Ａｘ0 ］，［Ａｘ1 ］，［Ａｘ2 ］，［Ａｘ3 ］からのゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）のデータを取り込む。
【１８１０】
こうしてＩＧ１４の内部レジスタ（ＡＵＸＦＢ）に格納されたゲインデータ（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）は、後述する非線形処理（ＬＵＴ）が実行される時にマイクロ命令の一部としてこのＩＧ１４から各プロセッシング・エレメントＰＥに逐次供給される。
【１８２０】
次に、図２０につき、本実施例における階調変換のための非線形処理（ＬＵＴ）（ステップＳ8 ）を説明する。
【１８３０】
この非線形処理演算は、水平走査線単位で処理部１８の各プロセッシング・エレメントＰＥが各対応する画素データについて所定の演算を施すことにより、入力画像信号Ｙinに対して継続的に行われる。
【１８４０】
この非線形処理演算で用いるパラメータは、直前のフィールドないし垂直ブランキング期間中に得られた最小階調度ＭＩＮｄ、最大階調度ＭＡＸｄ、階調度範囲幅ＲＮＫｗｄおよび各階調度範囲（ＲＮＧ0 ，ＲＮＧ1 ，ＲＮＧ2 ，ＲＮＧ3 ）毎のゲイン（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）である。このうち、ＭＩＮｄ、ＭＡＸｄ、ＲＮＫｗｄは各プロセッシング・エレメントＰＥのレジスタ領域［ＭＩＮｄ］、［ＭＡＸｄ］、［ＲＮＫｗｄ］にそれぞれ格納されており、（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）はＩＧ１４の内部レジスタ（ＡＵＸＦＢ）に格納されている。
【１８５０】
図２０において、この非線形処理演算は、各対応する入力画素データＹ（ｙin）について最小階調度ＭＩＮｄの値をコアリングレベルとするコアリング演算を行う第１のコアリング（Ｌ2 ）と、この第１のコアリングの演算結果について階調度範囲ＲＮＧの個数（この例では４個）に応じた回数（４回）だけ続けて階調度範囲の幅ＲＮＫｗｄの値をコアリングレベルとするコアリング演算を行う第２のコアリング（Ｌ4 ，Ｌ9 ，Ｌ14）と、各々の第２のコアリング（Ｌ4 ，Ｌ9 ，Ｌ14）の演算前後の値の差分を求めてクリップするクリップまたは減算（Ｌ5 ，Ｌ10，Ｌ15）と、各々のクリップ（Ｌ5 ，Ｌ10，Ｌ15）の演算結果と各対応するゲイン（Ａ0 ，Ａ1 ，Ａ2 ）とを乗算する第１の乗算（Ｌ6 ，Ｌ11，Ｌ16）と、これら第１の乗算の演算結果を全て加え合わせる第１の加算（Ｌ12，Ｌ17）と、最終回の第２のコアリング（Ｌ14）の演算結果とそれに対応するゲイン（Ａ3 ）とを乗算する第２の乗算（Ｌ19）と、第１の加算（Ｌ12，Ｌ17）の演算結果と第２の乗算（Ｌ19）の演算結果とを加え合わせる第２の加算（Ｌ20）と、この第２の加算（Ｌ20) の演算結果と最小階調度ＭＩＮｄとを加え合わせる第３の加算（Ｌ21）と、この第３の加算（Ｌ21）の演算結果と最大階調度ＭＡＸｄとを比較して小さい方を選択するＭＩＮ演算（Ｌ22）とを含んでいる。
【１８６０】
以下に、この非線形処理のための各プロセッシング・エレメントＰＥの動作を詳細に説明する。
【１８７０】
先ず、入力画素データＹ（ｙin）をレジスタ領域［Ｙ］から［Ｓ0 ］に移し、このレジスタ領域［Ｓ0 ］の内容（ｙ0 つまりｙin）に対してレジスタ領域［ＭＩＮｄ］の内容をコアリングレベルとするコアリング（ＣＯＲＥ）Ｌ2 を演算して、演算結果をレジスタ領域［Ｓ0 ］に残す。
【１８８０】
次に、このレジスタ領域［Ｓ0 ］の内容（ｙ1)をレジスタ領域［Ｓ1 ］に転送（Ｌ3 ）して保存しておく。
【１８９０】
次に、レジスタ領域［Ｓ0 ］の内容（ｙ1 ）に対してレジスタ領域［ＲＮＫｗｄ］の内容（ＲＮＫｗｄ）をコアリングレベルとするコアリング（ＣＯＲＥ）Ｌ4 を演算して、演算結果（ｙ2 ）をレジスタ領域［Ｓ0 ］に残す。
【１９００】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ1 ）からレジスタ領域［Ｓ0 ］の内容（ｙ2 ）を減算（Ｌ5 ）してクリップし、その演算結果（ｙ3 ）をレジスタ領域［Ｓ1 ］に格納する。
【１９１０】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ3 ）にレジスタ領域［Ａ0 ］の内容（Ａ0 ）を乗算（Ｌ6 ）して、その演算結果（ｙ4 つまりＡ0 ＊ｙ3 ）をレジスタ領域［Ｔ0 ］に格納する。
【１９２０】
ここで、レジスタ領域［Ｓ1 ］の内容とレジスタ領域［Ａ0 ］の内容との乗算は、図２１に示すように、８ビット・データ同士の乗算であり、本来的には１６ビットの乗算結果が得られる。このデータ長は大きすぎるので、点線で示す下位４ビット部分については演算から外し、最上位１２ビットを有効出力とする。これでも、少数点２桁（ビット）まで計算しているので、精度は確保される。
【１９３０】
この演算結果（ｙ4 ）は、レジスタ領域［Ｔ0 ］にいったん格納した後、直ちにレジスタ領域［Ｔ1 ］に転送（Ｌ7 ）する。
【１９４０】
次に、レジスタ領域［Ｓ0 ］の内容［ｙ2 ］をレジスタ領域［Ｓ1 ］に転送（Ｌ8 ）して保存しておく。
【１９５０】
そして、レジスタ領域［Ｓ0 ］の内容（ｙ2 ）に対してレジスタ領域［ＲＮＫｗｄ］の内容（ＲＮＫｗｄ）をコアリングレベルとするコアリング（ＣＯＲＥ）Ｌ9 を演算して、演算結果（ｙ5 ）をレジスタ領域［Ｓ0 ］に残す。
【１９６０】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ2 ）からレジスタ領域［Ｓ0 ］の内容（ｙ5 ）を減算（Ｌ10）してクリップし、その演算結果（ｙ6 ）をレジスタ領域［Ｓ1 ］に格納する。
【１９７０】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ6 ）にレジスタ領域［Ａ1 ］の内容（Ａ1 ）を乗算（Ｌ11）して、その演算結果（Ａ1 ＊ｙ6 ）をレジスタ領域［Ｔ0 ］に格納する。この乗算（Ｌ11）でも、演算結果を１２ビットで出力する。
【１９８０】
次に、このレジスタ領域［Ｔ0 ］の内容（Ａ1 ＊ｙ6 ）にレジスタ領域［Ｔ1 ］の内容（ｙ4 ）を加算（Ｌ12）して足し合わせ、その演算結果（ｙ7 ）をレジスタ領域［Ｔ1 ］に残す。
【１９９０】
次に、レジスタ領域［Ｓ0 ］の内容［ｙ5 ］をレジスタ領域［Ｓ1 ］に転送（Ｌ13）して保存しておく。
【２０００】
そして、レジスタ領域［Ｓ0 ］の内容（ｙ5 ）に対してレジスタ領域［ＲＮＫｗｄ］の内容（ＲＮＫｗｄ）をコアリングレベルとするコアリング（ＣＯＲＥ）Ｌ14を演算して、演算結果（ｙ8 ）をレジスタ領域［Ｓ0 ］に残す。
【２０１０】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ5 ）からレジスタ領域［Ｓ0 ］の内容（ｙ8 ）を減算（Ｌ15）してクリップし、その演算結果（ｙ9 ）をレジスタ領域［Ｓ1 ］に格納する。
【２０２０】
次いで、レジスタ領域［Ｓ1 ］の内容（ｙ9 ）にレジスタ領域［Ａ2 ］の内容（Ａ2 ）を乗算（Ｌ16）して、その演算結果（Ａ2 ＊ｙ9 ）をレジスタ領域［Ｔ0 ］に格納する。この乗算（Ｌ16）でも、演算結果を１２ビットで出力する。
【２０３０】
次に、このレジスタ領域［Ｔ0 ］の内容（Ａ2 ＊ｙ9 ）にレジスタ領域［Ｔ1 ］の内容（ｙ7 ）を加算（Ｌ17）して足し合わせ、その演算結果（ｙ10）をレジスタ領域［Ｔ1 ］に残す。
【２０４０】
次に、レジスタ領域［Ｓ1 ］の内容（ｙ8 ）にレジスタ領域［Ａ3 ］の内容（Ａ3 ）を乗算（Ｌ19）して、その演算結果（Ａ3 ＊ｙ8 ）をレジスタ領域［Ｔ0 ］に格納する。
【２０５０】
次に、このレジスタ領域［Ｔ0 ］の内容（Ａ3 ＊ｙ8 ）にレジスタ領域［Ｔ1 ］の内容（ｙ10）を加算（Ｌ20）して足し合わせ、その演算結果（ｙ11）をレジスタ領域［Ｔ0 ］に残す。
【２０６０】
次に、レジスタ領域［Ｔ0 ］の内容（ｙ11）にレジスタ領域［ＭＩＮｄ］の内容（ＭＩＮｄ）を加算（Ｌ21）し、その演算結果をレジスタ領域［Ｔ0 ］の新たな内容とする。
【２０７０】
最後に、レジスタ領域［Ｔ0 ］の内容とレジスタ領域［ＭＡＸｄ］の内容（ＭＡＸｄ）との間でＭＩＮ演算（Ｌ22）を行って、上限をＭＡＸｄでクリップし、最終の演算結果（ｙ12）を得る。この演算結果（ｙ12）は出力画素データｙout としてレジスタ領域［Ｔ0 ］に格納される。
【２０８０】
そして、このレジスタ領域［Ｔ0 ］に格納された演算結果ｙ12（ｙout ）は、次の水平走査期間の開始時（正確には水平ブランキング期間がまだ終了する前）にＤＯＲ２０の対応レジスタに転送され（ステップＳ2 ）、その水平走査期間中に他の全てのプロセッシング・エレメントＰＥからの演算結果と一緒に出力画像信号Ｙout としてＤＯＲ２０より出力される。
【２０９０】
なお、上記演算式▲１▼に示すように、各階調度範囲ＲＮＧ0 ，ＲＮＧ1 ，ＲＮＧ2 ，ＲＮＧ3 において各ゲインＡ0 ，Ａ1 ，Ａ2 ，Ａ3 と各度数ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 とは一定の係数を介して互いに比例関係にある。この関係からすれば、上記非線形処理において各ゲインＡ0 ，Ａ1 ，Ａ2 ，Ａ3 に代えて各度数ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 を用いることも可能である。
【２１００】
すなわち、各乗算Ｌ6 ，Ｌ11，Ｌ16，Ｌ19において、レジスタ領域［Ｓ1 ］の内容に、レジスタ領域［Ａ0 ］，［Ａ1 ］，［Ａ2 ］，［Ａ3 ］の内容（Ａ0 ，Ａ1 ，Ａ2 ，Ａ3 ）ではなくレジスタ領域［ＨＳＴｄ0 ］，［ＨＳＴｄ1 ］，［ＨＳＴｄ2 ］，［ＨＳＴｄ3 ］の内容（ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 ）を乗算し、乗算の演算結果を上記係数（９／８）で乗算しても、同様の結果が得られる。
【２１１０】
したがって、上記のような統計処理で求められた最小階調度ＭＩＮｄ，最小階調度ＭＡＸｄ，階調度範囲幅ＲＮＫｗｄおよび度数（ＨＳＴｄ0 ，ＨＳＴｄ1 ，ＨＳＴｄ2 ，ＨＳＴｄ3 ）をパラメータとして本実施例による非線形の階調変換を行うことも可能である。
【２１２０】
上記した実施例では、図２２に示すように、各フィールド（たとえば画面１）に対する統計処理（１，２）で求められた統計値（ＭＩＮｄ，ＭＡＸｄ，ＲＮＫｗd ，Ａ0 〜Ａ3 ）のうち、ＭＩＮｄ，ＭＡＸｄおよびＲＮＫｗd はその直後の１つのフィールド（画面２）における非線形処理に用いられるとともに度数演算工程（統計処理２）にも用いられ、Ａ0 〜Ａ3 はその直後の１つのフィールド（画面２）における非線形処理に用いられる。
【２１３０】
もっとも、各統計処理の対象となるフィールドまたはフレームと、その統計処理によって得られる統計値を用いる非線形処理ないし度数演算工程の対象となるフィールドまたはフレームとの関係は任意に設定可能である。たとえば、統計処理（１，２）を２フィールドに１回の割合で行い、その統計値を後続の複数のフィールドに対する非線形処理に用いることも可能である。
【２１４０】
上記した方法では、統計処理の対象となる画像（フィールド）と階調変換を受ける画像（フィールド）とが異なるが、１〜２フィールドの時間差なので、通常のアプリケーションでは特に階調変換精度に影響するほどのことではない。
【２１５０】
もっとも、図２３に示すように、入力画像信号Ｙinをフィールドメモリまたはフレームメモリに通して１フィールドまたはフレーム（１Ｆ）だけ遅延させてから階調変換を行ってもよい。この場合は、図２４に示すように、統計処理の対象となる画面と階調変換を受ける対象の画面とを一致させることができる。
【２１６０】
また、１つの表示画面を複数たとえば２分割して２つの画像Ａ，Ｂを同時に表示する場合は、図２５に示すように、各入力画像信号Ｙin（Ａ），Ｙin（Ｂ）に対して統計処理および階調変換を別個に行う。特に、統計処理は各画面毎に交互に行う。階調変換は、各入力画像信号Ｙin（Ａ），Ｙin（Ｂ）に対して並列的または時分割的に行う。
【２１７０】
また、上記実施例では、全階調度範囲の限界点および階調度範囲幅ＲＮＫｗｄを規定する最小階調度ＭＩＮｄおよび最大階調度ＭＡＸｄを画像の階調に応じて動的に制御（更新）することで、階調度範囲ＲＮＧの個数を比較的少なめの４個に設定し、演算処理の軽減化を実現している。
【２１８０】
しかし、図２６に示すように、階調度範囲ＲＮＧの個数を多め（たとえば８個）に設定することももちろん可能であり、動的な最小階調度ＭＩＮｄおよび最大階調度ＭＡＸｄを用いることなく各階調度範囲ＲＮＧの位置および範囲幅ＲＮＫｗｄを一定（固定）値とすることも可能である。
【２１９０】
このように最小階調度ＭＩＮｄおよび最大階調度ＭＡＸｄを用いない場合、非線形処理演算（図２０）は、第１のコアリング（Ｌ2 ）、第３の加算（Ｌ21）、最終段のＭＩＮ演算（Ｌ22）が不要となる。もっとも、第２のコアリング、クリップおよび第１の乗算の演算回数が増える。
【２２００】
この場合の非線形処理演算は、各対応する入力画素データについて階調度範囲ＲＮＧの個数に応じた回数だけ続けて階調度範囲の幅の値ＲＮＫｗd をコアリングレベルとするコアリング演算を行うコアリングと、各々のコアリングの演算前後の値の差分を求めてクリップするクリップまたは減算と、各々のクリップの演算結果と各対応するゲイン（または度数）とを乗算する第１の乗算と、これら第１の乗算の演算結果を全て加え合わせる第１の加算と、最終回のコアリングの演算結果とそれに対応するゲイン（または度数）とを乗算する第２の乗算と、第１の加算の演算結果と第２の乗算の演算結果とを加え合わせる第２の加算とを含むことになる。
【２２１０】
上記した実施例では、フィールドまたはフレームの垂直方向および水平方向において統計処理の対象となる水平走査線および画素列を効果的に間引いて処理の効率化をはかっている。もっとも、このような間引きのパターンは種々の変形が可能であり、上記実施例の間引き方法は一例にすぎない。実際のアプリケーションでは、画面の一部、典型的には中央部付近の領域についてのみ統計処理を行う方法としてもよい。
【２２２０】
図２７〜図３３に、上記した本実施例における階調変換の手順を実行させるためのプログラムリストを示す。
【２２３０】
本実施例では、ＩＧ１４内のプログラムメモリにこのプログラムがコード化された状態で格納される。このＩＧ１４のプログラムメモリには、所定のインタフェース（図示せず）を介して外部ＲＯＭまたは外部コントローラ等よりプログラムデータがロードされる。
【２２４０】
このプログラムの１つ１つの命令に対してＳＶＰ１０の全プロセッシング・エレメントＰＥ0 〜ＰＥN-1 が一斉に同一の演算処理を行うため、画像信号の伝送レートが高くても、精度の高い統計処理および階調変換を走査線単位で効率よく実行することができる。
【２２５０】
そして、ＳＶＰ１０の機能を利用することで、統計処理および階調変換における個々の処理を高度化かつ多様化することができる。つまり、プログラムの内容を適宜変更・変形することで、ＳＶＰ１０には何の手を加えずに多種多様なアプリケーションに対応することができる。また、システムの設計はプログラムの書き換えだけで済み、シュミレーションも非常に簡単である。
【２２６０】
【発明の効果】
以上説明したように、本発明の画像階調変換方法によれば、多種多様な画像フォーマットに１つのハードウェアシステムで効率よく対応することができ、しかも動画像に対して多様かつ高度な階調変換を容易に行うことかできる。
【図面の簡単な説明】
【図１】本発明の画像階調変換方法で用いるＳＩＭＤ型並列プロセッサ（ＳＶＰ）の構成例を示すブロック図である。
【図２】実施例におけるＳＶＰの要部（コア）の構成を模式的に示す図である。
【図３】実施例における階調変換方法の原理を説明するための階調変換特性曲線およびヒストグラムの例を示す図である。
【図４】実施例におけるＳＶＰの処理手順（垂直走査期間中の処理）を示すフローチャートである。
【図５】実施例におけるＳＶＰの処理手順（垂直ブランキンク期間中の処理）を示すフローチャートである。
【図６】実施例におけるＳＶＰの処理手順（垂直ブランキンク期間中の処理）を示すフローチャートである。
【図７】実施例におけるＳＶＰの処理手順（垂直ブランキンク期間中の処理）を示すフローチャートである。
【図８】実施例におけるＳＶＰ内の全体の処理およびデータの流れを示すブロック図である。
【図９】実施例におけるＳＶＰ内の全体の処理およびデータの流れを示すタイミング図である。
【図１０】実施例におけるＳＶＰの出力ポートと入力ポートとの間の接続関係を示すブロック図である。
【図１１】実施例におけるＳＶＰ内の各プロセッシング・エレメントのレジスタ・ファイルに設けられるレジスタ領域を示す図である。
【図１２】実施例における垂直方向の統計処理の手法を概念的に示す図である。
【図１３】実施例において垂直方向の最小階調度および最大階調度を求めるためのプロセッシング・エレメントの処理を示すブロック図である。
【図１４】実施例において垂直方向の度数を求めるためのプロセッシング・エレメントの処理を示すブロック図である。
【図１５】入力画素データの各段階の階調度に対する図１４の各部におけるデータの値を示す図である。
【図１６】実施例における水平方向の一次統計処理の作用を説明するための図である。
【図１７】実施例における水平方向の二次統計処理（最小階調度，最大階調度の演算）の作用を説明するための図である。
【図１８】実施例における水平方向の二次統計処理（度数の演算）の作用を説明するための図である。
【図１９】図９の一部の作用を時間軸方向で拡大して示すタイミング図である。
【図２０】実施例における階調変換のための非線形処理の作用を示す図である。
【図２１】実施例の非線形処理の中の乗算出力に対する丸めを示す図である。
【図２２】実施例における画面の流れと各処理との関係を示す図である。
【図２３】実施例においてフレームメモリにより入力画像信号を１フィールドまたは１フレーム遅らせてから階調変換を行う方法を示す図である。
【図２４】図２３の方法における画面の流れと各処理との関係を示す図である。
【図２５】１つの画面を２つに分割して左右に２つの画面を表示する場合の実施例における処理方法を説明するための図である。
【図２６】実施例における階調変換曲線フォーマットおよびヒストグラムの一変形例を示す図である。
【図２７】実施例における階調変換方法を実施するためのプログラムのリストである。
【図２８】実施例における階調変換方法を実施するためのプログラムのリストである。
【図２９】実施例における階調変換方法を実施するためのプログラムのリストである。
【図３０】実施例における階調変換方法を実施するためのプログラムのリストである。
【図３１】実施例における階調変換方法を実施するためのプログラムのリストである。
【図３２】実施例における階調変換方法を実施するためのプログラムのリストである。
【図３３】実施例における階調変換方法を実施するためのプログラムのリストである。
【図３４】画像の階調変換の原理を説明するための図である。
【符号の説明】
１０      ＳＶＰ
１２      ＳＶＰコア
１４      ＩＧ（命令発生部）
１６      ＤＩＲ（データ入力レジスタ）
１８      処理部
２０      ＤＯＲ（データ出力レジスタ）
ＰＥ      プロセッシング・エレメント
ＲＦ0 ，ＲＦ1     レジスタ・ファイル
【図１】
0004162101.tif 000002
【図２】
0004162101.tif 000003
【図３】
0004162101.tif 000004
【図４】
0004162101.tif 000005
【図５】
0004162101.tif 000006
【図６】
0004162101.tif 000007
【図７】
0004162101.tif 000008
【図８】
0004162101.tif 000009
【図９】
0004162101.tif 000010
【図１０】
0004162101.tif 000011
【図１１】
0004162101.tif 000012
【図１２】
0004162101.tif 000013
【図１３】
0004162101.tif 000014
【図１４】
0004162101.tif 000015
【図１５】
0004162101.tif 000016
【図１６】
0004162101.tif 000017
【図１７】
0004162101.tif 000018
【図１８】
0004162101.tif 000019
【図１９】
0004162101.tif 000020
【図２０】
0004162101.tif 000021
【図２１】
0004162101.tif 000022
【図２２】
0004162101.tif 000023
【図２３】
0004162101.tif 000024
【図２４】
0004162101.tif 000025
【図２５】
0004162101.tif 000026
【図２６】
0004162101.tif 000027
【図２７】
0004162101.tif 000028
【図２８】
0004162101.tif 000029
【図２９】
0004162101.tif 000030
【図３０】
0004162101.tif 000031
【図３１】
0004162101.tif 000032
【図３２】
0004162101.tif 000033
【図３３】
0004162101.tif 000034
【図３４】
0004162101.tif 000035