(57)【要約】【課題】画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路を提供すること。【解決手段】画像処理回路は、Ｎビットの画素データを有する画像データに対するパイプライン処理を行う画像処理部を有する。画像処理部は、上位ビット用フリップフロップ回路４０１と、下位ビット用フリップフロップ回路４０２と、上位ビット用フリップフロップ回路４０１の入力値と出力値とが同一か否かを判定する比較回路４０３と、同一であるとき、上位ビット用フリップフロップ回路４０１にクロック信号が供給されないようにクロック信号の供給を制御するクロックゲーティング制御回路４０４とを有し、下位ｌビット用フリップフロップ回路４０２へのクロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタ４００を有する。【選択図】図５
2013125436.tif 000002
【特許請求の範囲】
【請求項１】
Ｎビット（Ｎは２以上の整数）の画素データを有する画像データを入力する入力部と、
クロック信号に基づき、前記画像データに対するパイプライン処理を行う画像処理部と、
前記パイプライン処理により得られたデータを出力する出力部と、を有し、
前記画像処理部は、
保持するデータのうち上位のｎビットのデータを入力とする上位ｎビット用レジスタと、
保持するデータのうち下位のｌビットのデータを入力とする下位ｌビット用レジスタと、
前記上位ｎビット用レジスタの入力値と前記上位ｎビット用レジスタの出力値とが同一か否かを判定する比較回路と、
前記入力値と前記出力値とが同一であると判定されたとき、前記上位ｎビット用レジスタに前記クロック信号が供給されないように、前記上位ｎビット用レジスタへの前記クロック信号の供給を制御するクロックゲーティング制御回路と、を有し、
前記下位ｌビット用レジスタへの前記クロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタを有する、
画像処理回路。
【請求項２】
前記画像データから、前記画像の隣接画素間の一致頻度を示す相関度を取得する相関度検出部と、
前記相関度が低い区間において、前記比較回路の動作を停止させる比較処理モード制御部と、を有する、
請求項１記載の画像処理回路。
【請求項３】
前記相関度検出部は、
前記画像を構成する１枚のフレームまたは前記フレームを分割した分割領域を単位として、前記相関度を取得する、
請求項２記載の画像処理回路。
【請求項４】
前記相関度検出部は、
他のフレームにおいて検出された前記相関度を転用する、
請求項３記載の画像処理回路。
【請求項５】
前記画像データは、ステレオ画像の左目画像データおよび右目画像データを含み、
前記画像処理部は、
前記左目画像データに対する前記パイプライン処理を行う左目画像処理部と、
前記右目画像データに対する前記パイプライン処理を行う右目画像処理部と、を有し、
画素ラインごとに、前記左目画像と前記右目画像との間の対応画素対に対して、前記左目画像処理部における前記パイプライン処理と前記右目画像処理部における前記パイプライン処理とが同時に行われるように、前記左目画像データの前記左目画像処理部への入力タイミングおよび前記右目画像データの前記右目画像処理部への入力タイミングのうち、少なくとも一方を調整する入力タイミング調整回路と、
前記左目画像処理部および前記右目画像処理部のうち少なくとも一方の前記比較回路の動作を停止させ、当該一方の前記クロックゲーティング制御回路に対して、他方の前記比較回路の判定結果を使用させる比較処理モード設定部と、を更に有する、
請求項１記載の画像処理回路。
【請求項６】
処理する画素データを構成する色成分ごとに用意された複数の前記画像処理部を有し、
前記複数の画像処理部が備えるパイプラインレジスタは、
前記上位ｎビット用レジスタに入力するデータのビット範囲が異なる、
請求項１記載の画像処理回路。
【請求項７】
請求項１に記載の画像処理回路を含む、半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パイプラインレジスタを備え、画像データに対してパイプライン処理により画像処理を行う画像処理回路および半導体集積回路に関する。
【背景技術】
【０００２】
カラー画像のデータなど、Ｎビット（Ｎは２以上の整数）の画素データで構成される画像データに対する画像処理として、高画質化、拡大または縮小などのデータ変換処理が広く行われている。画像データは、通常、画像を画素ラインごとに走査して得られる画素値のデータである。そして、このような画像データに対するデータ変換処理（画像処理）には、高速処理を実現するための一方法としてパイプライン処理（並列処理）が用いられ、その処理にパイプラインレジスタが多く用いられる。
【０００３】
画像処理に用いられるパイプラインレジスタは、通常、画像データのビットごとに用意された複数のフリップフロップ回路を有する。複数のフリップフロップ回路は、共通のクロック信号の供給を受けて動作し、画像データの保持を行う。
【０００４】
ところが、パイプライ処理は、画像処理が複雑な内容になればなるほど、必要なフリップフロップ回路の数が増え、各フリップフロップ回路のスイッチング動作による消費電力が増大する。特に、デジタルカメラや携帯情報端末などの携帯型電子機器では、主にバッテリー駆動であることから、できるだけ低消費電力で画像処理を行えることが望ましい。
【０００５】
そこで、低消費電力の画像処理回路としては、特許文献１に記載の技術を、画像処理回路のフリップフロップ回路に適用することが考えられる。
【０００６】
特許文献１に記載の技術（以下「従来技術」という）は、１６ビットの入力データのうち、入力データの上位８ビットを入力する同期化レジスタと、入力データの下位８ビットを入力する同期化レジスタとを配置している。そして、従来技術は、同期化レジスタごとに、比較回路およびクロックゲーティング制御回路を配置している。
【０００７】
比較回路は、同期化レジスタの入力値と出力値（いずれも８ビット）が同一であるか否かを判定する。クロックゲーティング制御回路は、入力値と出力値とが同一であると判定されたとき、同期化レジスタにクロック信号が供給されないように、同期化レジスタへのクロック信号の供給を制御する。また、上位８ビット用のクロックゲーティング制御回路は、入力データの上位８ビットが無効である場合にも、上位８ビット用の同期化レジスタへのクロック信号の供給を停止させる。
【０００８】
同期化レジスタの入力値と出力値とが同一である場合は、保持される値が変化しないため、同期化レジスタのスイッチング動作は無駄な動作といえる。したがって、このような従来技術によれば、同期化レジスタの無駄なスイッチング動作を低減し、その機能を損なうことなく、同期化レジスタの消費電力を低減することができる。
【０００９】
画像処理回路におけるフリップフロップ回路の入力値と出力値とが同一である場合では、そのスイッチング動作は無駄な動作といえる。したがって、従来技術を適用した画像処理回路の各フリップフロップ回路は、画像処理回路の消費電力の低減を図ることが考えられる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−１３４９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、画像処理回路では、以下の理由により、従来技術を適用しても消費電力を低減することが実際には難しいという課題を有する。
【００１２】
画像データ（特に色数が多い画像データ）の場合、複数ビットの全ての値が同一値のまま連続するということは少なく、クロック信号の供給は、ほとんど停止されないことになる。また、これを回避するためには、ビットごとに比較回路およびクロックゲーティング制御回路を配置することも考えられる。ところが、この場合には、比較回路の個数が増えることになる。また、画像データの場合、一部のビット範囲を無効として扱うことができるケースは少ないため、無効ビットに対応したクロック信号供給の停止を行える機会が少ない。
【００１３】
本発明の目的は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路および半導体集積回路を提供することである。
【課題を解決するための手段】
【００１４】
本発明の画像処理回路は、Ｎビット（Ｎは２以上の整数）の画素データを有する画像データを入力する入力部と、クロック信号に基づき、前記画像データに対するパイプライン処理を行う画像処理部と、前記パイプライン処理により得られたデータを出力する出力部とを有し、前記画像処理部は、保持するデータのうち上位のｎビットのデータを入力とする上位ｎビット用レジスタと、保持するデータのうち下位のｌビットのデータを入力とする下位ｌビット用レジスタと、前記上位ｎビット用レジスタの入力値と前記上位ｎビット用レジスタの出力値とが同一か否かを判定する比較回路と、前記入力値と前記出力値とが同一であると判定されたとき、前記上位ｎビット用レジスタに前記クロック信号が供給されないように、前記上位ｎビット用レジスタへの前記クロック信号の供給を制御するクロックゲーティング制御回路とを有し、前記下位ｌビット用レジスタへの前記クロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタを有する。
【発明の効果】
【００１５】
本発明によれば、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１に係る画像処理回路の構成の一例を示す構成図
【図２】本発明の実施の形態１におけるフィルタの構成の一例を示す構成図
【図３】本発明の実施の形態１におけるフィルタの構成の他の例を示す構成図
【図４】本発明の実施の形態１におけるデータパスの構成の一例を示す回路構成図
【図５】本発明の実施の形態１におけるパイプラインレジスタの構成の一例を示す回路構成図
【図６】本発明の実施の形態１における比較回路の構成の一例を示す回路構成図
【図７】本発明の実施の形態１におけるクロックゲーティング制御回路の構成の一例を示す回路構成図
【図８】本発明の実施の形態１におけるクロックゲーティング制御回路の入出力信号のタイミングチャートの一例
【図９】本発明の実施の形態１におけるパイプラインレジスタ内の各信号のタイミングチャートの一例
【図１０】本発明の実施の形態２に係る画像処理回路の構成の一例を示す構成図
【図１１】本発明の実施の形態２におけるパイプラインレジスタの構成の一例を示す回路構成図
【図１２】本発明の実施の形態２における本実施の形態における比較回路の構成の一例を示す回路構成図
【図１３】本発明の実施の形態３に係る画像処理回路の構成の一例を示す構成図
【図１４】本発明の実施の形態３におけるデータパスの構成の一例を示す回路構成図
【図１５】本発明の実施の形態３における比較回路の構成の一例を示す回路構成図
【発明を実施するための形態】
【００１７】
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。
【００１８】
（実施の形態１）
以下、本発明の実施の形態１に係る画像処理回路についての説明を、全体的な構成から細部の構成へと向かう方向で進める。
【００１９】
＜画像処理回路の全体的な構成＞
まず、画像処理回路の全体的な構成について説明する。
【００２０】
図１は、本実施の形態に係る画像処理回路の構成の一例を示す構成図である。
【００２１】
図１において、画像処理回路１００は、外部メモリ（図示せず）から画像データを読み出して入力し、入力した画像データに対して各種変換処理（画像処理）を行う装置である。画像処理回路１００は、たとえば、デジタルカメラあるいは携帯情報端末の内部の半導体集積回路に搭載されるものである。
【００２２】
なお、本実施の形態において、画像処理回路１００が入力する画像データは、Ｎビット（Ｎは２以上の整数）の画素データを有する画像データであるものとする。また、左上位置を座標原点とした場合、画像処理回路１００が入力する画像データは、画像を画素ラインごとに、左上位置から順に水平方向にラスター走査して得られる画素値のデータであるものとする。画像処理回路１００は、フレーム単位で変換処理を行う際に、たとえば、ラスター走査順に走査ラインごとに処理を繰り返す。
【００２３】
画像処理回路１００は、入力ＤＭＡ（Direct Memory Access）１０１、第１のラインバッファ１０２、第１のフィルタ１０３、第２のフィルタ１０４、第２のラインバッファ１０５、第３のフィルタ１０６、出力ＤＭＡ１０７、および制御部１１０を有する。なお、本実施の形態では、画像処理部として、第１のフィルタ１０３、第２のフィルタ１０４、および、第３のフィルタ１０６を備えているものとして説明するが、画像処理部の構成はこれに限定されない。画像処理部は、画像データに対するパイプライン的な各種変換処理（画像処理）が適用されるものであればよい。
【００２４】
入力ＤＭＡ１０１は、画像データを入力する入力部となるＤＭＡ回路である。より具体的には、入力ＤＭＡ１０１は、外部メモリ（図示せず）の所定のフレームバッファ領域から、画像データを、画素ライン単位で順次読み出す（リード転送）。そして、入力ＤＭＡ１０１は、読み出した画素ラインごとの画像データ（以下「ラインデータ」という）を第１のラインバッファ１０２へ転送する。
【００２５】
第１のラインバッファ１０２は、入力ＤＭＡ１０１から転送されてきラインデータを一時的に格納する。第１のラインバッファ１０２は、後段の第１のフィルタ１０３の処理に必要なライン数分のラインデータを少なくとも格納する。たとえば、第１のフィルタ１０３の処理で垂直方向に４ラインの連続したデータが必要である場合、第１のラインバッファ１０２は、４ライン分以上のラインデータを格納可能なバッファ領域を持つ。
【００２６】
第１のフィルタ１０３は、第１のラインバッファ１０２に格納された各ラインデータを入力する。そして、第１のフィルタ１０３は、クロック信号に同期し、入力したラインデータに対するパイプライン処理（画像処理）を行う。
【００２７】
より具体的には、第１のフィルタ１０３は、入力したラインデータに対して、たとえば、ノイズ除去処理などの所定の変換処理を行うフィルタ回路である。第１のフィルタ１０３は、必要な本数の（つまり画像の垂直方向において必要な画素数分の）ラインデータを、第１のラインバッファ１０２から同一のタイミングで読み出して入力する。この際、第１のフィルタ１０３は、複数のラインデータ間で同一画素位置のデータが同一のタイミングで入力されるように、画像の左端画素から右端画素へと向かう方向に画素単位でデータを順次入力する。ここで、同一画素位置とは、画像の水平方向の位置が同一であることを示す。
【００２８】
そして、第１のフィルタ１０３は、画像処理の結果として得られたラインデータを、第２のフィルタ１０４へ出力する。
【００２９】
第２のフィルタ１０４は、クロック信号に同期し、第１のフィルタ１０３から入力された各ラインデータに対するパイプライン処理を行う。より具体的には、第２のフィルタ１０４は、入力したラインデータに対して、たとえば、エッジ強調フィルタ処理などの所定の変換処理を行うフィルタ回路である。そして、第２のフィルタ１０４は、画像処理の結果として得られたラインデータを、第２のラインバッファ１０５へ出力する。
【００３０】
第２のラインバッファ１０５は、第２のフィルタ１０４から入力された各ラインデータを、一時的に格納する。第２のラインバッファ１０５は、後段の第３のフィルタ１０６の処理に必要なライン数分のラインデータを少なくとも格納する。
【００３１】
第３のフィルタ１０６は、第２のラインバッファ１０５に格納された各ラインデータを入力し、クロック信号に同期し、入力したラインデータに対するパイプライン処理を行う。
【００３２】
より具体的には、第３のフィルタ１０６は、入力したラインデータに対して、たとえば、ＹＵＶ系からＲＧＢ系、あるいはその逆方向の色空間変換処理などの、所定の変換処理を行うフィルタ回路である。第３のフィルタ１０６は、必要な本数の（つまり画像の垂直方向において必要な画素数分の）ラインデータを、第２のラインバッファ１０５から同一のタイミングで読み出して入力する。
【００３３】
そして、第３のフィルタ１０６は、画像処理の結果として得られたラインデータを、出力ＤＭＡ１０７へ出力する。
【００３４】
出力ＤＭＡ１０７は、画像データを出力する出力部となるＤＭＡ回路である。出力ＤＭＡ１０７は、第３のフィルタ１０６から入力された各ラインデータを、入力された順に、外部メモリのフレームバッファ領域に書き込む（ライト転送）。
【００３５】
制御部１１０は、設定されたパラメータに従って、１フレーム分の画像データが左上端から順に水平方向の画素ライン単位で処理されるように、入力ＤＭＡ１０１〜出力ＤＭＡ１０７を制御する。なお、パイプライン処理動作の詳細を制御するため、第１のラインバッファ１０２〜第３のフィルタ１０６の各ラインバッファとフィルタの各々において、別途（図示しない）制御部を有する構成が考えられる。
【００３６】
以上の構成のうち、第１のラインバッファ１０２〜第３のフィルタ１０６は、クロック信号に同期し画像データに対するパイプライン処理を行う画像処理部を構成する。ただし、後述するが、この画像処理部は、画像処理の消費電力を低減した状態で行うことが可能な構成を有している。また、個々のフィルタ、後述するデータパス、あるいはパイプラインレジスタのそれぞれは、クロック信号に基づき画像データに対するパイプライン処理を行う、画像処理部として捉えてもよい。
【００３７】
＜フィルタ回路の全体的な構成＞
次に、第１〜第３のフィルタ１０３、１０４、１０６の全体的な構成について説明する。
【００３８】
本実施の形態において、第１〜第３のフィルタ１０３、１０４、１０６は、画像データに対するパイプライン処理を行うものであればよく、その構成は特定のものに限定されない。そこで、第１〜第３のフィルタ１０３、１０４、１０６の構成の共通部分は、「フィルタ２００」と表し、フィルタ２００の構成について説明を行う。
【００３９】
図２は、入力されるラインデータ（画像データ）がＹＵＶ形式である場合の、フィルタ２００の構成の一例を示す構成図である。
【００４０】
図２に示すように、フィルタ２００は、たとえば、第１〜第３のデータパス２０１〜２０３を有する。第１〜第３のデータパス２０１〜２０３は、順に、Ｙ成分用のデータパス、Ｕ成分用のデータパス、Ｖ成分用のデータパスである。
【００４１】
フィルタ２００に入力された各ラインデータは、Ｙ成分、Ｕ成分、およびＶ成分に分離される。そして、分離した各成分は、第１〜第３のデータパス２０１〜２０３のうち対応するものに入力され、それぞれ変換処理が施される。
【００４２】
第１〜第３のデータパス２０１〜２０３は、同一のパイプライン段数によるパイプライン処理を行い、同一画素位置のデータを同一のタイミングで出力する。第１〜第３のデータパス２０１〜２０３の各々の演算器構成は、フィルタ２００が行う変換処理の内容に依存する。また、第１〜第３のデータパス２０１〜２０３間の接続の有無およびその構成も、フィルタ２００が行う変換処理の内容に依存する。たとえば、Ｙ成分の演算途中結果をＵ成分の演算処理に使用する内容の処理を行う場合、第１のデータパス２０１の内部の演算途中結果が、第２のデータパス２０２の所望のパイプライン位置の入力として与えられる。
【００４３】
なお、ラインデータがＲＧＢ形式である場合も、同様に、色成分ごとのデータパスが分離されて配置された構成となる。一方、フィルタ２００が、ラインデータに対するＹＵＶ形式からＲＧＢ形式への変換処理を行うようなものである場合、構成は少し異なったものとなる。
【００４４】
図３は、フィルタ２００がＹＵＶ形式からＲＧＢ形式への変換を行う場合の、フィルタ２００の構成の一例を示す構成図である。
【００４５】
図３に示すように、フィルタ２００は、たとえば、色成分ごとに分離されていないデータパス２０４を有する。データパス２０４は、Ｙ成分、Ｕ成分、およびＶ成分のデータ間で演算処理を行う。
【００４６】
＜データパスの内部構成＞
次に、フィルタ２００内の第１〜第３のデータパス２０１〜２０３およびデータパス２０４の構成について説明する。
【００４７】
本実施の形態において、第１〜第３のデータパス２０１〜２０３およびデータパス２０４は、パイプライン処理による変換処理を行うものであればよく、その構成は特定のものに限定されない。そこで、第１〜第３のデータパス２０１〜２０３およびデータパス２０４の構成の共通部分は、「データパス３００」と表し、データパス３００の構成について説明を行う。
【００４８】
また、以下の説明において、画像データ（ラインデータ）の各色成分のデータは、たとえば、８ビット（ｂｉｔ）カラー（２５６色）のデータであるものとする。また、ラインデータのうち、１画素に対応する部分は、「画素データ」という。すなわち、画素データの各色成分は、８ビットである。そして、データパス３００は、４つのラインデータ（４本の画素ライン分のラインデータ）を同時に入力して処理するものとする。ここでデータパス３００は、１つの色成分の画素データに対するデータパスとする。つまり、第１〜第３のデータパス２０１〜２０３の各データパスに対応する。
【００４９】
図４は、データパス３００の構成の一例を示す回路構成図である。
【００５０】
図４に示すように、データパス３００は、パイプラインレジスタ３０１Ａ〜３０１Ｄ、３０２Ａ〜３０２Ｄ、３０３Ａ〜３０３Ｄ、３０４Ａ〜３０４Ｄ、３１２Ａ〜３１２Ｂ、３１３Ａ、３１４Ａ、および、演算回路３２１〜３２３を有する。
【００５１】
パイプラインレジスタ３０１Ａ〜３１４Ａのうち、パイプラインレジスタ３０１Ａ〜３０４Ｄは、それぞれ、入力される各色成分の画素データの値を保持するレジスタである。パイプラインレジスタ３０１Ａ〜３０４Ｄは、シフトレジスタにより構成され、演算回路３２１〜３２３のうち、対応するパイプラインステージにおける演算回路への入力データを出力する。すなわち、パイプラインレジスタ３０１Ａ〜３０４Ｄは、それぞれ、ライン単位で連続した画素データを順次入力し、入力した画素データを順次保持していく。
【００５２】
なお、パイプラインレジスタ３０１Ａ〜３１４Ａのうち、パイプラインレジスタ３１２Ａ〜３１２Ｂ、３１３Ａ、３１４Ａは、パイプライン処理における演算処理の中間処理結果を格納するレジスタである。データパス３００においては、パイプラインレジスタ３１２Ａ〜３１２Ｂ、３１３Ａ、３１４Ａのそれぞれの保持ビット数は、たとえば９ビットである。
【００５３】
演算回路３２１〜３２３は、各パイプラインステージの演算回路である。演算回路３２１〜３２３は、たとえば、それぞれ、乗算、加算、減算等の算術演算、クリッピング処理などを行う回路を、組み合わせた組み合わせ回路により、所望の論理演算を実現する。
【００５４】
なお、データパス３００の構成は、図４に示した内容に限定されない。データパス３００において、パイプラインレジスタは、画像処理の各パイプラインステージのうち必要なステージに配置されていればよい。また、入力する画素データのビット数あるいは演算回路の中間処理結果のビット数は、上述の内容に限定されるものではなく、それぞれ、１０ビット、１２ビット、あるいは１６ビットなどであってもよい。
【００５５】
データパス３００は、画素ライン数が多いほど、垂直方向に（つまり並列に）配置されたパイプラインレジスタがより多く必要となる。データパス３００は、パイプライン段数が多いほど、水平方向に（つまり直列に）配置されたパイプラインレジスタがより多く必要となる。すなわち、データパス３００が行う処理の内容に応じて、パイプラインレジスタの数は異なる。パイプラインレジスタの数が多いほど、後述の消費電力の低減効果および回路規模の抑制効果は、より顕著となる。
【００５６】
＜パイプラインレジスタの構成＞
次に、データパス３００内のパイプラインレジスタ３０１Ａ〜３０４Ｄの構成について説明する。
【００５７】
本実施の形態において、パイプラインレジスタ３０１Ａ〜３１４Ａは、入力データを所定のビット数分保持するものであればよく、その構成は特定のものに限定されない。そこで、パイプラインレジスタ３０１Ａ〜３１４Ａの構成の共通部分は、「パイプラインレジスタ４００」と表し、パイプラインレジスタ４００の構成について説明を行う。
【００５８】
図５は、パイプラインレジスタ４００の構成の一例を示す回路構成図である。
【００５９】
図５に示すように、パイプラインレジスタ４００は、複数の上位ビット用フリップフロップ（ＦＦ）回路４０１、複数の下位ビット用フリップフロップ回路４０２、比較回路４０３、およびクロックゲーティング制御回路４０４を有する。
【００６０】
上位ビット用フリップフロップ回路４０１は、保持するデータのうち上位のｎビットのデータを入力とする、上位ｎビット用レジスタである。ここでは、上位ビット用フリップフロップ回路４０１は、並列に５つ設けられている。そして、５つの上位ビット用フリップフロップ回路４０１は、たとえば、画素データ８ビットのうち上位側（ＭＳＢ）５ビットを保持するものとする。
【００６１】
下位ビット用フリップフロップ回路４０２は、保持するデータのうち下位のｌビットのデータを入力とする、下位ｌビット用レジスタである。ここでは、下位ビット用フリップフロップ回路４０２は、並列に３つ設けられている。そして、３つの下位ビット用フリップフロップ回路４０２は、たとえば、画素データ８ビットのうち下位側（ＬＳＢ）３ビットを保持するものとする。
【００６２】
なお、上位ビット用フリップフロップ回路４０１および下位ビット用フリップフロップ回路４０２は、通常のデータ入力型フリップフロップ回路である。ここでは特に図示していないが、上位ビット用フリップフロップ回路４０１および下位ビット用フリップフロップ回路４０２には、リセット入力を必要に応じて加えてもよい。
【００６３】
比較回路４０３は、５つの上位ビット用フリップフロップ回路４０１に対する５ビットの入力値と、５つの上位ビット用フリップフロップ回路４０１からの５ビットの出力値とを、入力する。以下、５つの上位ビット用フリップフロップ回路４０１に対する５ビットの入力値は、「上位ビット入力値」という。また、５つの上位ビット用フリップフロップ回路４０１からの５ビットの出力値は、「上位ビット出力値」という。比較回路４０３は、上位ビット入力値と上位ビット出力値とを比較し、同一か否かを逐次判定する。
【００６４】
図６は、比較回路４０３の構成の一例を示す回路構成図である。
【００６５】
図６に示すように、比較回路４０３は、たとえば、５個の２入力ＥＸＯＲゲート４１１と１個の５入力ＯＲゲート４１２とにより構成される。比較回路４０３は、５ビットの上位ビット入力値ｉｎＤ３〜ｉｎＤ７と、５ビットの上位ビット出力値ｏｕｔＤ３〜ｏｕｔＤ７との間の一致検出を行い、検出結果（ｎＣｍｐ）を出力する。比較回路４０３は、上位ビット入力値ｉｎＤ３〜ｉｎＤ７と上位ビット出力値ｏｕｔＤ３〜ｏｕｔＤ７とが完全一致する場合、検出結果（ｎＣｍｐ）として「０」の信号を出力する。また、比較回路４０３は、上位ビット入力値ｉｎＤ３〜ｉｎＤ７と上位ビット出力値ｏｕｔＤ３〜ｏｕｔＤ７とが１ビットでも一致しない場合、検出結果（ｎＣｍｐ）として「１」の信号を出力する。
【００６６】
図５のクロックゲーティング制御回路４０４は、上位ビット入力値と上位ビット出力値とが同一であると比較回路４０３により判定されたとき、上位ビット用フリップフロップ回路４０１に次のクロック信号（ＣＬＫ）が供給されないようにする。
【００６７】
図７は、クロックゲーティング制御回路４０４の構成の一例を示す回路構成図である。
【００６８】
図７に示すように、クロックゲーティング制御回路４０４は、たとえば、ラッチ回路（ＬＡＴ）４２１とＡＮＤゲート４２２とにより構成される。ラッチ回路４２１は、（図示しない）外部から入力されるクロック信号（ＣＬＫ）の立ち下がりエッジに基づいて、イネーブル信号として入力される比較回路４０３の出力（ＥＮ、検出結果ｎＣｍｐ）をラッチする。ＡＮＤゲート４２２は、ラッチ回路４２１の出力（ラッチされている値）とクロック信号（ＣＬＫ）との論理積を出力する。すなわち、クロックゲーティング制御回路４０４は、常時供給されるクロック信号（ＣＬＫ）に対して、イネーブル信号ＥＮが１となる場合に、クロックＧＣＬＫを出力するものであり、一般的なクロックゲーティング制御回路である。
【００６９】
なお、ライトイネーブル制御信号とそれら信号によるクロックゲーティング制御に関する回路および動作については、本発明の内容とは直接には関係しないため、個々での説明を省略する。
【００７０】
図８は、クロックゲーティング制御回路４０４の入出力信号のタイミングチャートの一例である。
【００７１】
クロックゲーティング制御回路４０４は、比較回路４０３の出力（ＥＮ）が「１」である区間５０１に対して、次のクロック信号（ＣＬＫ）を、クロック信号（ＧＣＬＫ）として出力する。かかる区間５０１は、つまり、上位ビット入力値と上位ビット出力値とが一致していない区間である。
【００７２】
パイプラインレジスタ４００は、クロック信号（ＣＬＫ）の立ち上がりエッジで、保持する画素データが更新される。画素データが更新されると、比較回路４０３は、パイプラインレジスタ４００の入出力が一致するか否かを判定する。判定結果が「１」である場合、入出力が不一致なので、クロックゲーティング制御回路４０４は、次のクロック信号（ＣＬＫ）をクロック信号（ＧＣＬＫ）として出力させる。このために、クロックゲーティング制御回路４０４は、比較回路４０３の出力（ＥＮ）をクロック信号（ＣＬＫ）の立ち下がりでラッチ回路４２１がラッチする。そして、クロックゲーティング制御回路４０４は、比較回路４０３の出力（ＥＮ）を半クロック分ずらした波形となるラッチ回路４２１の出力（ＬＡＴ出力）により、半クロック分タイミングをずらして、確実にクロック信号（ＧＣＬＫ）を生成する。
【００７３】
一方、クロックゲーティング制御回路４０４は、比較回路４０３の出力（ＥＮ）が「０」である区間５０２に対して、次のクロック信号（ＣＬＫ）を、「０」が継続する信号（ＧＣＬＫ）を出力する。かかる区間５０２は、つまり、上位ビット入力値と上位ビット出力値とが一致している区間であり、上位ビット用フリップフロップ回路４０１のフリップフロップ動作が不要な区間である。
【００７４】
すなわち、クロックゲーティング制御回路４０４は、判定結果を示す信号が「１」である間、クロック信号を、５つの上位ビット用フリップフロップ回路４０１のそれぞれへ供給する。そして、クロックゲーティング制御回路４０４は、判定結果を示す信号が「０」である間、クロック信号の各上位ビット用フリップフロップ回路４０１への供給を遮断（ゲーティング）する。
【００７５】
この遮断は、上述の通り、各上位ビット用フリップフロップ回路４０１への入力値が、既に保持されている値（出力値）と同一であり、新たに値の書き込みを行う必要がないためである。この結果、上位ビット用フリップフロップ回路４０１のクロック入力ライン部のスイッチング動作の回数が低減し、上位ビット用フリップフロップ回路４０１の消費電力を低減することができる。なお、クロック信号の供給が遮断されている間、上位ビット用フリップフロップ回路４０１には、最後に書き込まれた値がそのまま保持され続ける。
【００７６】
なお、パイプラインレジスタ４００は、図５に示すように、下位ビット用フリップフロップ回路４０２に対しては、クロックゲーティングを行うような回路を介さずに、制御部１１０から出力されるクロック信号をそのまま入力する。すなわち、パイプラインレジスタ４００は、下位ビット用フリップフロップ回路４０２へのクロック信号の供給を制御する、比較回路およびクロックゲーティング回路などの回路を有さない。
【００７７】
なお、パイプラインレジスタ３１２Ａ、３１２Ｂ、３１３Ａ、３１３Ｂに関しては、保持するデータが９ビットとなる。このため、たとえば、比較回路とクロックゲーティング制御回路の接続対象となる上位側ビットを６ビットとし、対象外とする下位側ビットを３ビットとする構成としてもよい。このように、パイプラインレジスタの各レジスタの保持するデータのビット幅、保持する演算途中結果の一致頻度特性への影響を考慮し、各パイプラインレジスタにより対象とする上位側ビットのビット幅を増減することも可能である。
【００７８】
＜パイプライン処理の処理タイミング＞
次に、パイプラインレジスタ４００内における各信号の波形について、具体例を挙げて説明する。
【００７９】
図９は、パイプラインレジスタ４００内におけるパイプライン処理時の各信号のタイミングチャートの一例である。図９では、参考として、各画素データに対応する画素位置を、併せて図示する。
【００８０】
図９に示すように、画素位置Ｐ０〜Ｐ７の区間において、制御信号Ｖｌｄが、画素データｉｎＤ（下位ビットの３ビットと上位ビットｉｎＤ［７：３］を含む）が有効である事を示す「１」となっていたとする。パイプラインレジスタ４００は、制御信号Ｖｌｄが「１」となっている区間を検出することにより、入力画素の位置（水平座標）Ｐ０〜Ｐ７の画素データを取得する。
【００８１】
図９において、上位ビット入力値ｉｎＤ［７：３］、上位ビット出力値ｏｕｔＤ［７：３］である、Ｄｘ、Ｄａ、Ｄｂ〜Ｄｄは、それぞれ異なる値を表すものとする。なお、上位ビット入力値ｉｎＤ［７：３］は、パイプラインレジスタ４００への入力画素データの上位側５ビットである。また、上位ビット出力値ｏｕｔＤ［７：３］は、パイプラインレジスタ４００の保持データである。
【００８２】
画素位置Ｐ２〜Ｐ４、Ｐ６の区間では、直前の隣接画素との間で値が一致していたとする。この場合、図９に示すように、上位ビット入力値ｉｎＤ［７：３］が画素位置Ｐ２〜Ｐ４、Ｐ６に対応している間は、比較回路４０３の出力信号ｎＣｍｐは「０」となる。この結果、図９に示すように、下位ビット入力値ｏｕｔＤ［７：３］が画素位置Ｐ２〜Ｐ４、Ｐ６に対応している間、クロックゲーティング制御回路４０４の出力信号ＧＣＬＫは、「０」となる。すなわち、クロック信号ＣＬＫの上位ビット用フリップフロップ回路４０１への供給が停止される。
【００８３】
なお、下位ビット用フリップフロップ回路４０２には、少なくとも制御信号Ｖｌｄが「１」となっている区間は、常時、クロック信号ＣＬＫが供給されることになる。
【００８４】
画像データの場合、色成分ごとの画素データでは、上位側ビットで隣接画素が一致する頻度は高く、下位側ビットで隣接画素が一致する頻度は低い傾向にある。言い換えると、色成分ごとの画素データでは、上位ビットの値と比較すると、下位ビットにおいて同一の値が継続することは少ない。
【００８５】
したがって、画像データの場合、下位ビットでは、クロックゲーティングを行おうとしても、ほとんどの区間においてクロック信号を遮断する頻度が非常に少なく、比較回路の動作に必要な消費電力が無駄といえる。
【００８６】
そこで、上述の通り、本実施の形態に係る画像処理回路１００は、下位ビット用フリップフロップ回路４０２について、比較回路およびクロックゲーティング制御回路を設けず、クロックゲーティングを行わないようにしている。すなわち、画像処理回路１００は、クロックゲーティングを実行する機会が多く期待できる上位側ビットに対してのみ、比較回路およびクロックゲーティング制御回路を配置するようにしている。
【００８７】
これにより、画像処理回路１００は、比較回路の動作による消費電力の増大を低減し、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことを可能にする。また、画像処理回路１００は、下位ビット用フリップフロップ回路４０２についても比較回路およびクロックゲーティング制御回路を設ける場合に比べて、パイプラインレジスタごとに必要な回路リソースの増加を抑制することができる。
【００８８】
なお、クロックゲーティング制御の対象となる上位ビットの数（本実施の形態では５ビット）の最適値は、画像データの内容や種別に依存する。各色成分の画素データが８ビットの場合、上位側４〜６ビットのいずれかのビット数を、クロックゲーティング制御の対象とすることで、各種の画像データに対して概ね良好な結果を得られるという評価結果が、発明者により得られている。
【００８９】
また、図２に示すようにデータパスが色成分ごとに独立している構成において、画像処理回路１００は、色成分ごとにクロックゲーティング制御の対象となる上位ビットの数が異なる構成であってもよい。すなわち、比較回路およびクロックゲーティング制御回路が、接続されるフリップフロップ回路に入力するデータの画像データにおけるビット範囲は、色成分ごとに異なっていてもよい。
【００９０】
たとえば、Ｙ成分の第１のデータパス２０１では、上位側５ビットをクロックゲーティング制御の対象とし、Ｕ成分およびＶ成分の第２および第３のデータパス２０２、２０３では、上位側６ビットをクロックゲーティング制御の対象とする。このような構成は、Ｙ成分よりもＵ成分およびＶ成分のほうが、値が変化する頻度が低いビット範囲の幅（最適となるビット幅）が大きい傾向がある場合に、有効である。
【００９１】
このように、本発明は、色成分ごとにクロックゲーティング制御の対象となるビット範囲を最適化することにより、更に、消費電力を低減することが可能となる。
【００９２】
以上のように、本実施の形態に係る画像処理回路１００は、クロック信号に同期し、画像データに対するパイプライン処理を行う画像処理部を有する。そして、その画像処理は、上位ｎビット用レジスタへのクロック信号の供給に対して画像データに基づく制御を行うが、下位ｌビット用レジスタへのクロック信号の供給に対してはこのような制御を行わないようにする。すなわち、画像処理は、下位ｌビット用レジスタに対して、比較回路およびクロックゲーティング制御回路を不要とする。
【００９３】
これにより、本実施の形態に係る画像処理回路１００は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができ、消費電力の低減に伴う回路規模の増大を抑制することができる。
【００９４】
なお、以上の説明では、画像処理回路１００が画像の画素ライン単位で繰返し処理を行う前提としたが、処理単位はこれに限定されるものではない。たとえば、画像処理回路１００は、画像を矩形領域に分割したブロック（分割領域）を単位として、変換処理を実行してもよい。
【００９５】
また、画像処理回路１００は、比較回路を、複数の上位ビット用フリップフロップ回路についてまとめて１つではなく、上位ビット用フリップフロップ回路ごとに有してもよい。ただし、上述のように、画像処理回路１００では、まとめて１つの比較回路とするほうが、比較動作による消費電力の増大および回路規模の増大がより低減される。
【００９６】
（実施の形態２）
本発明の実施の形態２は、比較回路の動作が不要である場合に比較回路の動作を停止させるようにした例である。
【００９７】
＜画像処理回路の全体的な構成＞
図１０は、本実施の形態に係る画像処理回路の構成の一例を示す構成図であり、実施の形態１の図１に対応するものである。図１と同一部分には同一符号を付し、これについての説明を省略する。
【００９８】
図１０において、画像処理回路１００ａは、図１に示す構成に加えて、入力ＤＭＡ１０１と第１のラインバッファ１０２との間に配置された相関度検出部１０８ａを有する。また、画像処理回路１００ａは、図１の制御部１１０に代えて、比較処理モード制御部１１１ａを備えた制御部１１０ａを有する。
【００９９】
相関度検出部１０８ａは、画像データから、隣接画素間の一致頻度を示す相関度を取得する。ここで、隣接画素とは、画像の走査方向が水平方向である場合、入力画像において隣接する画素のうち、水平方向において隣接している画素である。より具体的には、相関度検出部１０８ａは、入力ＤＭＡ１０１から出力されるラインデータを入力して第１のラインバッファ１０２へ転送し、その際に、ラインデータから相関度を抽出する。そして、相関度検出部１０８ａは、取得した相関度を、逐次、比較処理モード制御部１１１ａへ出力する。
【０１００】
より具体的には、相関度検出部１０８ａは、ラインデータ上の隣接画素間で画素値が一致する箇所の個数をカウントする。そして、相関度検出部１０８ａは、たとえば、画素ライン、フレーム、あるいはフレームを矩形に分割した分割領域を単位として、カウント値を集計し、ラインデータ上の隣接画素間で画素値が一致する頻度（以下「一致頻度」という）を算出する。かかる一致頻度は、たとえば、隣接する他の画素との間で画素値が一致する画素の数あるいは割合で表される。なお、一致頻度の計測対象のサンプリング間隔は、４画素間隔あるいは８画素間隔などのように広く設定してもよい。この場合、処理負荷を軽減することが可能となる。
【０１０１】
なお、相関度検出部１０８ａは、クロックゲーティング制御の対象となるのは、画素データの上位ビットのみであるため、上位ビットのデータのみから一致頻度を算出することが望ましい。これにより、処理負荷の軽減および高速化だけでなく、クロックゲーティング制御の判断の適正化を図ることができる。
【０１０２】
そして、相関度検出部１０８ａは、計測した一致頻度を、一致頻度が計測された領域の相関度として、比較処理モード制御部１１１ａへ出力する。
【０１０３】
比較処理モード制御部１１１ａは、相関度が低い区間において、第１〜第３のフィルタ１０３、１０４、１０６の比較回路の動作を停止させる。
【０１０４】
より具体的には、比較処理モード制御部１１１ａは、相関度検出部１０８ａから入力された相関度を保持する。そして、比較処理モード制御部１１１ａは、保持している相関度が予め定められた閾値以上である場合、比較処理モードを、比較動作を行うモード（オン）に決定する。これは、つまり、クロックゲーティングを行う機会が比較的多い場合であり、比較動作の意義が高い場合である。
【０１０５】
また、比較処理モード制御部１１１ａは、保持している相関度が予め定められた閾値未満である場合、比較処理モードを、比較動作を行わないモード（オフ）に決定する。これは、つまり、クロックゲーティングを行う機会が比較的少ない場合であり、比較動作の意義が低い場合である。
【０１０６】
そして、比較処理モード制御部１１１ａは、決定した比較処理モードが実現されるように、第１〜第３のフィルタ１０３、１０４、１０６を制御する。
【０１０７】
たとえば、比較処理モード制御部１１１ａは、相関度検出部１０８ａによる一致頻度計測が画素ライン単位で実行されている場合、ラインデータごとに比較処理モードを決定する。また、比較処理モード制御部１１１ａは、その決定の基となった一致頻度が計測された画素ラインのラインデータが、第１〜第３のフィルタ１０３、１０４、１０６で処理される際に、決定した比較処理モードが実現されるようにする。
【０１０８】
なお、第２のフィルタ１０４と第３のフィルタ１０６へ入力される画像データは、第１のフィルタで処理された画像データとなるため、その処理内容に依存して相関度検出部１０８ａで計測した一致頻度の傾向を適用できない場合がある。適用できない場合、たとえば、比較処理モード制御部１１１ａによる比較処理モードの制御対象を、第２のフィルタ１０４と第３のフィルタ１０６に対しては除外する。あるいは、第３のフィルタ１０６に対する相関度検出部を、別途、第２のフィルタ１０４と第２のラインバッファ１０５の間に追加する対応を行う。
【０１０９】
また、第１のフィルタ１０３のライン処理に第１のラインバッファ１０２から４ラインのラインデータが入力される場合を想定する。この場合、予め相関度検出部１０８ａで計測された入力４ラインデータの一致頻度の平均値が設定された閾値を下回っていた場合には比較処理モードをオフとし、閾値以上の場合は比較処理モードをオンとする制御が考えられる。
【０１１０】
第１〜第３のフィルタ１０３、１０４、１０６のパイプラインレジスタは、実施の形態１と同様に、上位ビット用フリップフロップ回路ごとに有している。しかし、その比較回路は、制御信号（ＣｍｐＭｏｄｅ）の入力を受け、その信号に応じて、比較動作のオンオフを切り替える。上述の比較処理モード制御部１１１ａは、この制御信号（ＣｍｐＭｏｄｅ）を各比較回路に入力することにより、第１〜第３のフィルタ１０３、１０４、１０６の比較処理モードを制御する。
【０１１１】
本実施の形態において、比較処理モード制御部１１１ａは、比較処理モードをオフにする場合は、０の制御信号（ＣｍｐＭｏｄｅ）を出力し、比較処理モードをオンにする場合は、「１」の制御信号（ＣｍｐＭｏｄｅ）を出力する。
【０１１２】
＜パイプラインレジスタの構成＞
図１１は、本実施の形態におけるパイプラインレジスタの構成の一例を示す回路構成図であり、実施の形態１の図５に対応するものである。図５と同一部分には、同一符号を付し、これについての説明を省略する。
【０１１３】
図１１に示すように、本実施の形態におけるパイプラインレジスタ４００ａは、図５の比較回路４０３に代えて、比較回路４０３ａを有する。比較回路４０３ａは、比較処理モード制御部１１１ａから入力される制御信号（ＣｍｐＭｏｄｅ）に応じて、比較動作のオンオフを切り替える。
【０１１４】
＜比較回路の構成＞
図１２は、本実施の形態における比較回路４０３ａの構成の一例を示す回路構成図であり、実施の形態１の図６に対応するものである。図６と同一部分には、同一符号を付し、これについての説明を省略する。
【０１１５】
図１２に示すように、本実施の形態における比較回路４０３ａは、ＥＸＯＲゲート４１１群の入力側に、入力固定化回路４３０ａを有している。入力固定化回路４３０ａは、ＥＸＯＲゲート４１１群の入力信号値を、比較処理モード制御部１１１ａからの制御信号（ＣｍｐＭｏｄｅ）により固定化するゲートである。
【０１１６】
入力固定化回路４３０ａは、上位ビット出力値ｏｕｔＤ３以外の入力信号のそれぞれに対して、制御信号（ＣｍｐＭｏｄｅ）との論理積を取るＡＮＤゲート４３１ａを挿入した構成となっている。ここで、上位ビット出力値ｏｕｔＤ３以外の入力信号とは、つまり、上位ビット入力値ｉｎＤ３〜ｉｎＤ７および上位ビット出力値ｏｕｔＤ４〜ｏｕｔＤ７である。また、入力固定化回路４３０ａは、上位ビット出力値ｏｕｔＤ３に対して、インバータゲートを挿入した制御信号（ＣｍｐＭｏｄｅ）との論理和を取るＯＲゲート４３２ａを挿入した構成となっている。
【０１１７】
このような入力固定化回路４３０ａを有する比較回路４０３ａは、制御信号（ＣｍｐＭｏｄｅ）が「０」の場合、ＥＸＯＲゲート４１１群以降の信号を固定化し、出力信号（ｎＣｍｐ）を１にする。この結果、比較結果が常時不一致ということになり、クロックゲーティングが行われない状態となる。
【０１１８】
上位ビット入力値と上位ビット出力値とが同一である頻度が低いときは、全体として、不要な比較動作による消費電力のほうが、不要なフリップフロップ動作による消費電力を上回ることがある。したがって、画像処理回路１００ａでは、このように、比較動作を必要な場合に制限することにより、消費電力の更なる低減を図ることができる。
【０１１９】
なお、制御信号（ＣｍｐＭｏｄｅ）が「１」の場合、画像処理回路１００ａは、実施の形態１と同様に比較回路４０３ａの比較動作と、その比較結果に応じたクロックゲーティング動作とを行うことになる。
【０１２０】
以上のように、本実施の形態に係る画像処理回路１００ａは、画像データから、隣接画素間の一致頻度を示す相関度を取得し、相関度が低い区間において、比較動作を停止させる。言い換えると、画像処理回路１００ａは、これから処理する画像データの画像領域の一致頻度を予め計測し、計測した一致頻度に基づいて比較処理モードをオフにする。すなわち、画像処理回路１００ａは、一致検出対象となる上位側ビットの一致頻度が低く、クロックゲーティングが実行できる機会が少なく、省電力効果が逆に悪化するような期間を、クロックゲーティング処理の対象から適応的に除外する。
【０１２１】
これにより、本実施の形態に係る画像処理回路１００ａは、画像データに対するパイプライン処理の消費電力を、更に低減させることができる。
【０１２２】
なお、相関度となる一致頻度の計測は、画像処理回路１００ａの外部で行われてもよい。この場合、画像処理回路１００ａは、外部から一致頻度を入力すればよい。
【０１２３】
また、画像処理回路１００ａは、相関度を、画像データのカテゴリなど、一致頻度以外の情報から取得してもよい。たとえば、画像処理回路１００ａは、映画など、映像が変化しない区間の割合が高いカテゴリの画像データに対して、そのカテゴリに基づいて、相関度が高いと判定してもよい。そして、画像処理回路１００ａは、シューティングゲームなど、映像が変化しない区間の割合が低いカテゴリの画像データに対して、そのカテゴリに基づいて、相関度が低いと判定してもよい。
【０１２４】
また、一致頻度の計測結果を、計測対象となった画像データそのものに反映させるようにする場合、上述の第１のラインバッファ１０２には、一致頻度の計測単位分の画像データを格納する容量が必要となる。あるいは、画像処理回路１００ａの外部で計測する場合、処理遅延が発生することがある。したがって、画像処理回路１００ａは、必ずしも、一致頻度の計測結果を、計測対象となった画像データそのものに反映させなくてもよく、後続の別の画像データに反映させるようにしてもよい。
【０１２５】
この場合、画像処理回路１００ａは、たとえば、１つ前のフレームから計測された一致頻度に基づいて、比較処理モードを制御する。すなわち、画像処理回路１００ａは、たとえば、相関度検出部１０８ａにおいて、他のフレームにおいて検出された相関度を転用する。
【０１２６】
連続映像の場合は、時間的に近いフレーム間で一致頻度が大きく変化することは少ない（つまり、フレーム間の相関が高い）。したがって、このような場合でも、画像処理回路１００ａは、画像処理の結果として得られる画像の画質低下を防ぎつつ、上記省電力化を図ることができる。
【０１２７】
なお、画像処理回路１００ａは、１つ前のフレームよりも更に過去のフレームで検出された一致頻度に基づいて、比較処理モードの制御を行うようにしてもよい。しかし、時間的により近いフレームのほうが、一致頻度の相関もより高いため、できるだけ時間的に近いフレームにおいて検出された一致頻度を用いることが望ましい。
【０１２８】
（実施の形態３）
本発明の実施の形態３は、ステレオ画像の左目画像データと右目画像データとの間で、一方の比較回路の出力を他方に流用することで、他方の比較回路の動作を停止させるようにした例である。
【０１２９】
＜画像処理回路の全体的な構成＞
図１３は、本実施の形態に係る画像処理回路の構成の一例を示す構成図であり、実施の形態１の図１に対応するものである。図１と同一部分には、同一符号を付し、これについての説明を省略する。
【０１３０】
図１３において、本実施の形態に係る画像処理回路１００ｂは、ステレオ画像（３Ｄ画像）の左目画像（Ｌ画像）のデータである左目画像データと、ステレオ画像の右目画像（Ｒ画像）のデータである右目画像データとを入力する。
【０１３１】
画像処理回路１００ｂは、図１の第１のラインバッファ１０２、第１のフィルタ１０３、および第２のフィルタ１０４を、左目画像データ用と右目画像データ用として２つずつ有する。すなわち、画像処理回路１００ｂは、左目画像用の画像処理部と右目画像用の画像処理部とを並列に有する。
【０１３２】
以下、左目画像データ用の第１のラインバッファ１０２、第１のフィルタ１０３、および第２のフィルタ１０４は、順に、左用第１のラインバッファ１０２Ｌ、左用第１のフィルタ１０３Ｌ、および左用第２のフィルタ１０４Ｌという。左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌは、Ｎビット（Ｎは２以上の整数）の画素データを有する左目画像データに対するパイプライン処理を行う左目画像処理部である。
【０１３３】
また、右目画像データ用の第１のラインバッファ１０２、第１のフィルタ１０３、および第２のフィルタ１０４は、順に、右用第１のラインバッファ１０２Ｒ、右用第１のフィルタ１０３Ｒ、および右用第２のフィルタ１０４Ｒという。右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒは、Ｎビット（Ｎは２以上の整数）の画素データを有する右目画像データに対するパイプライン処理を行う右目画像処理部である。
【０１３４】
そして、画像処理回路１００ｂは、左用第１のラインバッファ１０２Ｌおよび右用第１のフィルタ１０３Ｒと、左用第１のフィルタ１０３Ｌおよび右用第１のフィルタ１０３Ｒとの間に、入力タイミング調整回路１０９ｂを有する。
【０１３５】
また、画像処理回路１００ｂは、図１の制御部１１０に代えて、左右ずれ画素数設定部１１２ｂおよび比較処理モード設定部１１３ｂを備えた制御部１１０ｂを有する。
【０１３６】
なお、本実施の形態では、図１に示す第２のラインバッファ１０５および第３のフィルタ１０６を設けていないが、これらについても左目画像用と右目画像用とを設けるようにしてもよい。
【０１３７】
入力タイミング調整回路１０９ｂは、左目画像データの左目画像処理部への入力タイミング、および、右目画像データの右目画像処理部への入力タイミングのうち、少なくとも一方を調整する。より具体的には、入力タイミング調整回路１０９ｂは、左目画像と右目画像との間の対応画素対に対して、左目画像処理部における画像処理と右目画像処理部における画像処理とが同時に行われるように、上記調整を行う。入力タイミング調整回路１０９ｂは、この調整を、ラインデータごとあるいはフレームごとなど、画素ラインを基準とした所定の画像単位ごとに行う。
【０１３８】
また、入力タイミング調整回路１０９ｂは、この調整を、左右ずれ画素数設定部１１２ｂにより設定される後述の左右ずれ画素数に基づいて行う。より具体的には、入力タイミング調整回路１０９ｂは、左目画像データおよび右目画像データのうち少なくとも一方の出力タイミングを、出力データにおいて当該左右ずれ画素数がゼロになる方向に、左右ずれ画素数の分だけ調整する。
【０１３９】
左右ずれ画素数設定部１１２ｂは、所定の画像単位ごとに、左目画像と右目画像との間の対応画素対の間のずれ量に相当する画素数を取得し、取得した画素数を、左右ずれ画素数として入力タイミング調整回路１０９ｂに設定する。対応画素対は、左目画像と右目画像との間で同一の対象を表示する画素のペア、あるいは、表示すると推定される画素のペアである。対応画素対には、隣接画素との画素値の一致不一致が共通となり易いという傾向がある。
【０１４０】
より具体的には、左右ずれ画素数設定部１１２ｂは、たとえば、別の処理において左目画像または右目画像のデプス情報を算出し、その際に抽出される中間処理結果のパラメータあるいはデプス情報から、左右ずれ画素数を算出する。また、左右ずれ画素数設定部１１２ｂは、たとえば、ステレオ画像の撮影条件または生成条件である視点距離、視差などの、画像生成に関するパラメータを元に、左右ずれ画素数を算出してもよい。
【０１４１】
比較処理モード設定部１１３ｂは、左目画像処理部および右目画像処理部のうち少なくとも一方の比較回路の動作を停止させ、当該一方のクロックゲーティング制御回路に対して、他方の比較回路の判定結果を使用させる。すなわち、比較処理モード設定部１１３ｂは、左目画像処理部および右目画像処理部の一方の比較回路の判定結果を、他方のフィルタにも利用する。そして、比較回路の判定結果を他方のフィルタで利用するようにした上で、比較処理モード設定部１１３ｂは、当該他方のフィルタの比較回路を動作させないようにする（以下「比較結果の流用」という）。
【０１４２】
より具体的には、比較処理モード設定部１１３ｂは、比較結果の流用を行うか否かを決定し、決定結果を示すモード信号（ＣｍｐＭｏｄｅ＿３Ｄ）を、右目画像処理部の各パイプラインレジスタへ出力する。モード信号（ＣｍｐＭｏｄｅ＿３Ｄ）は、たとえば、比較結果の流用をしないとき、０の値を取り、比較結果の流用をするとき、１の値を取る。モード信号（ＣｍｐＭｏｄｅ＿３Ｄ）は、右目画像処理部の各パイプラインレジスタに共通のモード信号である。
【０１４３】
更に、比較処理モード設定部１１３ｂは、実施の形態２で説明した、比較動作のオンオフを切り替える制御信号（ＣｍｐＭｏｄｅ）を出力する。制御信号（ＣｍｐＭｏｄｅ）は、たとえば、比較結果の流用をしないとき、「１」となり、比較結果の流用をするとき、「０」となる。
【０１４４】
なお、左用第１のフィルタ１０３Ｌと右用第１のフィルタ１０３Ｒとは、ほぼ同一の構成を有している。また、左用第２のフィルタ１０４Ｌと右用第２のフィルタ１０４Ｒとは、ほぼ同一の構成を有している。以下、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌと、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒとの間で、構成的に対称となっているフィルタには、「他方の」との表現を用いる。また、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌと、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒとの間で、構成的に対称となっている（同位置である）回路部分には、「対応する」との表現を用いる。
【０１４５】
ただし、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌと、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒとの間では、比較回路の構成が異なる。そして、画像処理回路１００ｂでは、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌの各比較回路の出力結果が、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒの対応する比較回路にも接続されている。
【０１４６】
なお、本実施の形態では、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌと、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒとは、左目画像と右目画像のそれぞれ、１ラインの画像データを同時に処理するものとする。
【０１４７】
以下、左用第１のフィルタ１０３Ｌおよび左用第２のフィルタ１０４Ｌの各データパスの構成の共通部分は、「左用データパス３００ｂＬ」と表す。また、右用第１のフィルタ１０３Ｒおよび右用第２のフィルタ１０４Ｒの各データパスの構成の共通部分は、「右用データパス３００ｂＲ」と表す。
【０１４８】
＜データパスの内部構成＞
図１４は、左用データパス３００ｂＬおよび右用データパス３００ｂＲの構成の一例を示す回路構成図であり、実施の形態１の図４に対応するものである。図４と同一部分には、同一符号を付し、これについての説明を省略する。
【０１４９】
図１４に示すように、左用データパス３００ｂＬの各パイプラインレジスタ３０１Ａ〜３１４Ａの比較回路からの出力信号（ｎＣｍｐＬ）は、右用データパス３００ｂＲの対応するパイプラインレジスタ３０１Ｄ〜３１４Ｂに、入力される。
【０１５０】
左用データパス３００ｂＬの各パイプラインレジスタ３０１Ａ〜３１４Ａの構成は、実施の形態１あるいは実施の形態２と同様とすることができる。一方、右用データパス３００ｂＲの各パイプラインレジスタ３０１Ｄ〜３１４Ｂの構成は、比較回路において、実施の形態１および実施の形態２とは異なる。以下、右用データパス３００ｂＲのパイプラインレジスタ３０１Ｄ〜３１４Ｂ内の比較回路の構成の共通部分は、「比較回路４０３ｂ」と表す。
【０１５１】
＜比較回路の構成＞
図１５は、比較回路４０３ｂの構成の一例を示す回路構成図であり、実施の形態１の図６および実施の形態２の図１２に対応するものである。図６および図１２と同一部分には、同一符号を付し、これについての説明を省略する。
【０１５２】
図１５に示すように、比較回路４０３ｂは、ＯＲゲート４１２の出力側に、セレクタ４４１ｂを有している。セレクタ４４１ｂは、ＯＲゲート４１２の出力信号（ｎＣｍｐＲ）と、他方のフィルタの対応する比較回路からの出力信号（ｎＣｍｐＬ）とを切り替えて、後段のクロックゲーティング制御回路への出力信号（ｎＣｍｐ）として出力する。セレクタ４４１ｂは、比較処理モード設定部１１３ｂからのモード信号（ＣｍｐＭｏｄｅ＿３Ｄ）を選択信号として入力し、このモード信号に基づいて、出力信号の切り替えを行う。より具体的には、セレクタ４４１ｂは、たとえば、モード信号（ＣｍｐＭｏｄｅ＿３Ｄ）が「０」のとき、ＯＲゲート４１２の出力信号（ｎＣｍｐＲ）を出力する。また、セレクタ４４１ｂは、モード信号（ＣｍｐＭｏｄｅ＿３Ｄ）が「１」のとき、他方のフィルタの対応する比較回路からの出力信号（ｎＣｍｐＬ）を出力する。
【０１５３】
また、比較回路４０３ｂは、比較処理モード設定部１１３ｂからの制御信号（ＣｍｐＭｏｄｅ）が「０」のとき、実施の形態２で説明したように、比較回路４０３ｂの入力固定化回路４３０ａ、ＥＸＯＲゲート４１１群、およびＯＲゲート４１２の動作により入力信号を固定化する。制御信号（ＣｍｐＭｏｄｅ）が「０」となるのは、上述の通り、モード信号（ＣｍｐＭｏｄｅ＿３Ｄ）が「１」になるときである。
【０１５４】
したがって、比較回路４０３ｂは、比較処理モード設定部１１３ｂからの制御を受けて、対応する比較回路の判定結果を流用して自己の動作を停止することができる。一方で、互いに対応する２つの比較回路には、入力タイミング調整回路１０９ｂの機能により、対応画素対の画素データが同時に入力される。そして、対応画素対の画素データは、相関が高く、隣接画素との画素値の一致不一致が高い確率で共通する。
【０１５５】
したがって、画像処理回路１００ｂは、実施の形態１あるいは実施の形態２に記載の構成をそのままステレオ画像の画像処理に適用した場合に比べて、動作する比較回路の個数を更に低減することができる。すなわち、画像処理回路１００ｂは、ステレオ画像の画像処理に関しても、消費電力の増大を抑制することができる。
【０１５６】
ただし、画像によっては、対応画素対の実際の左右ずれ画素数が一定であるとは限らず、このため、対応画素対の隣接画素との画素値の一致不一致が常に共通であるとは限らない。したがって、画素ライン単位あるいはフレーム単位などで画像処理タイミングを調整する場合、実際には、対応画素対の隣接画素との画素値の一致不一致が一致していないにもかかわらず、比較結果の流用が行われる場合がある。すると、このような場合には、かかる流用を行わない場合に比べて、画像処理により得られる立体画像の劣化が生じ得る。
【０１５７】
したがって、比較処理モード設定部１１３ｂは、対応画素対の実際の左右ずれ画素数が一定であるか否か、あるいは、一定でない度合いがユースケースにおいて許容できるかどうかに基づいて、比較結果の流用を行うか否かを決定するようにしてもよい。一定でない度合いが許容できるユースケースは、たとえば、画質劣化を許容した低消費電力を優先する場合である。
【０１５８】
以上のように、本実施の形態に係る画像処理回路１００ｂは、左目画像データおよび右目画像データの画像処理部への入力タイミングを調整した上で、左用画像処理部の比較回路の結果を、右用画像処理部の対応する比較回路の出力として流用する。これにより、画像処理回路１００ｂは、ステレオ画像の画像データに対するパイプライン処理を、消費電力を更に低減した状態で行うことができる。
【０１５９】
なお、本実施の形態において、画像処理回路１００ｂは、左用画像処理部の比較回路の結果を右用画像処理部に流用する構成としたが、逆に、右左用画像処理部の比較回路の結果を左用画像処理部に流用する構成としてもよい。
【０１６０】
なお、たとえば、ラインバッファの接続位置および個数、あるいは、フィルタの接続位置および個数など、画像処理回路の具体的な構成は、上記各実施の形態で説明した構成に限定されない。また、各フィルタが行う画像変換処理は、ラインデータに対してパイプライン的に行われるものであればよく、上記各実施の形態で説明した処理に限定されない。このような画像変換処理の具体例としては、たとえば、拡大処理、縮小処理、特徴量抽出処理、および色置換処理などが挙げられる。
【産業上の利用可能性】
【０１６１】
本発明は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路および半導体集積回路として有用である。すなわち、本発明は、画像データに対して、拡大処理、縮小処理、変形処理、あるいは画質調整処理などの変換処理を行い、記録または表示を行う機能を有する機器に好適である。特に、本発明は、携帯電話、タブレット、携帯ＴＶ、およびノートＰＣなどの携帯機器、あるいは、デジタルＴＶ、ＤＶＤ／ＢＤレコーダ、デスクトップＰＣ、車載向けナビゲーション機器などの据え置き機器に好適である。
【符号の説明】
【０１６２】
１００、１００ａ、１００ｂ  画像処理回路
１０１  入力ＤＭＡ
１０２  第１のラインバッファ
１０２Ｌ  左用第１のラインバッファ
１０２Ｒ  右用第１のラインバッファ
１０３  第１のフィルタ
１０３Ｌ  左用第１のフィルタ
１０３Ｒ  右用第１のフィルタ
１０４  第２のフィルタ
１０４Ｌ  左用第２のフィルタ
１０４Ｒ  右用第２のフィルタ
１０５  第２のラインバッファ
１０６  第３のフィルタ
１０７  出力ＤＭＡ
１０８ａ  相関度検出部
１０９ｂ  入力タイミング調整回路
１１０、１１０ａ、１１０ｂ  制御部
１１１ａ  比較処理モード制御部
１１２ｂ  左右ずれ画素数設定部
１１３ｂ  比較処理モード設定部
２００  フィルタ
２０１  第１のデータパス
２０２  第２のデータパス
２０３  第３のデータパス
２０４  データパス
３００  データパス
３００ｂＬ  左用データパス
３００ｂＲ  右用データパス
３０１Ａ〜３１４Ｂ  パイプラインレジスタ
３２１〜３２３、３２１Ａ〜３２３Ｂ  演算回路
４００、４００ａ  パイプラインレジスタ
４０１  上位ビット用フリップフロップ回路
４０２  下位ビット用フリップフロップ回路
４０３、４０３ａ、４０３ｂ  比較回路
４０４  クロックゲーティング制御回路
４３０ａ  入力固定化回路
４１１  ＥＸＯＲゲート
４１２、４３２ａ  ＯＲゲート
４２１  ラッチ回路
４２２、４３１ａ  ＡＮＤゲート
４４１ｂ  セレクタ
【図１】
2013125436.tif 000003
【図２】
2013125436.tif 000004
【図３】
2013125436.tif 000005
【図４】
2013125436.tif 000006
【図５】
2013125436.tif 000007
【図６】
2013125436.tif 000008
【図７】
2013125436.tif 000009
【図８】
2013125436.tif 000010
【図９】
2013125436.tif 000011
【図１０】
2013125436.tif 000012
【図１１】
2013125436.tif 000013
【図１２】
2013125436.tif 000014
【図１３】
2013125436.tif 000015
【図１４】
2013125436.tif 000016
【図１５】
2013125436.tif 000017