JP2013125436A - 画像処理回路および半導体集積回路 - Google Patents

画像処理回路および半導体集積回路 Download PDF

Info

Publication number
JP2013125436A
JP2013125436A JP2011274303A JP2011274303A JP2013125436A JP 2013125436 A JP2013125436 A JP 2013125436A JP 2011274303 A JP2011274303 A JP 2011274303A JP 2011274303 A JP2011274303 A JP 2011274303A JP 2013125436 A JP2013125436 A JP 2013125436A
Authority
JP
Japan
Prior art keywords
circuit
image processing
data
comparison
pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011274303A
Other languages
English (en)
Inventor
Masashi Hoshino
将史 星野
Masaaki Harada
昌明 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011274303A priority Critical patent/JP2013125436A/ja
Priority to PCT/JP2012/007711 priority patent/WO2013088664A1/ja
Priority to US14/365,349 priority patent/US9443282B2/en
Publication of JP2013125436A publication Critical patent/JP2013125436A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)

Abstract

【課題】画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路を提供すること。
【解決手段】画像処理回路は、Nビットの画素データを有する画像データに対するパイプライン処理を行う画像処理部を有する。画像処理部は、上位ビット用フリップフロップ回路401と、下位ビット用フリップフロップ回路402と、上位ビット用フリップフロップ回路401の入力値と出力値とが同一か否かを判定する比較回路403と、同一であるとき、上位ビット用フリップフロップ回路401にクロック信号が供給されないようにクロック信号の供給を制御するクロックゲーティング制御回路404とを有し、下位lビット用フリップフロップ回路402へのクロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタ400を有する。
【選択図】図5

Description

本発明は、パイプラインレジスタを備え、画像データに対してパイプライン処理により画像処理を行う画像処理回路および半導体集積回路に関する。
カラー画像のデータなど、Nビット(Nは2以上の整数)の画素データで構成される画像データに対する画像処理として、高画質化、拡大または縮小などのデータ変換処理が広く行われている。画像データは、通常、画像を画素ラインごとに走査して得られる画素値のデータである。そして、このような画像データに対するデータ変換処理(画像処理)には、高速処理を実現するための一方法としてパイプライン処理(並列処理)が用いられ、その処理にパイプラインレジスタが多く用いられる。
画像処理に用いられるパイプラインレジスタは、通常、画像データのビットごとに用意された複数のフリップフロップ回路を有する。複数のフリップフロップ回路は、共通のクロック信号の供給を受けて動作し、画像データの保持を行う。
ところが、パイプライ処理は、画像処理が複雑な内容になればなるほど、必要なフリップフロップ回路の数が増え、各フリップフロップ回路のスイッチング動作による消費電力が増大する。特に、デジタルカメラや携帯情報端末などの携帯型電子機器では、主にバッテリー駆動であることから、できるだけ低消費電力で画像処理を行えることが望ましい。
そこで、低消費電力の画像処理回路としては、特許文献1に記載の技術を、画像処理回路のフリップフロップ回路に適用することが考えられる。
特許文献1に記載の技術(以下「従来技術」という)は、16ビットの入力データのうち、入力データの上位8ビットを入力する同期化レジスタと、入力データの下位8ビットを入力する同期化レジスタとを配置している。そして、従来技術は、同期化レジスタごとに、比較回路およびクロックゲーティング制御回路を配置している。
比較回路は、同期化レジスタの入力値と出力値(いずれも8ビット)が同一であるか否かを判定する。クロックゲーティング制御回路は、入力値と出力値とが同一であると判定されたとき、同期化レジスタにクロック信号が供給されないように、同期化レジスタへのクロック信号の供給を制御する。また、上位8ビット用のクロックゲーティング制御回路は、入力データの上位8ビットが無効である場合にも、上位8ビット用の同期化レジスタへのクロック信号の供給を停止させる。
同期化レジスタの入力値と出力値とが同一である場合は、保持される値が変化しないため、同期化レジスタのスイッチング動作は無駄な動作といえる。したがって、このような従来技術によれば、同期化レジスタの無駄なスイッチング動作を低減し、その機能を損なうことなく、同期化レジスタの消費電力を低減することができる。
画像処理回路におけるフリップフロップ回路の入力値と出力値とが同一である場合では、そのスイッチング動作は無駄な動作といえる。したがって、従来技術を適用した画像処理回路の各フリップフロップ回路は、画像処理回路の消費電力の低減を図ることが考えられる。
特開2008−134926号公報
しかしながら、画像処理回路では、以下の理由により、従来技術を適用しても消費電力を低減することが実際には難しいという課題を有する。
画像データ(特に色数が多い画像データ)の場合、複数ビットの全ての値が同一値のまま連続するということは少なく、クロック信号の供給は、ほとんど停止されないことになる。また、これを回避するためには、ビットごとに比較回路およびクロックゲーティング制御回路を配置することも考えられる。ところが、この場合には、比較回路の個数が増えることになる。また、画像データの場合、一部のビット範囲を無効として扱うことができるケースは少ないため、無効ビットに対応したクロック信号供給の停止を行える機会が少ない。
本発明の目的は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路および半導体集積回路を提供することである。
本発明の画像処理回路は、Nビット(Nは2以上の整数)の画素データを有する画像データを入力する入力部と、クロック信号に基づき、前記画像データに対するパイプライン処理を行う画像処理部と、前記パイプライン処理により得られたデータを出力する出力部とを有し、前記画像処理部は、保持するデータのうち上位のnビットのデータを入力とする上位nビット用レジスタと、保持するデータのうち下位のlビットのデータを入力とする下位lビット用レジスタと、前記上位nビット用レジスタの入力値と前記上位nビット用レジスタの出力値とが同一か否かを判定する比較回路と、前記入力値と前記出力値とが同一であると判定されたとき、前記上位nビット用レジスタに前記クロック信号が供給されないように、前記上位nビット用レジスタへの前記クロック信号の供給を制御するクロックゲーティング制御回路とを有し、前記下位lビット用レジスタへの前記クロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタを有する。
本発明によれば、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる。
本発明の実施の形態1に係る画像処理回路の構成の一例を示す構成図 本発明の実施の形態1におけるフィルタの構成の一例を示す構成図 本発明の実施の形態1におけるフィルタの構成の他の例を示す構成図 本発明の実施の形態1におけるデータパスの構成の一例を示す回路構成図 本発明の実施の形態1におけるパイプラインレジスタの構成の一例を示す回路構成図 本発明の実施の形態1における比較回路の構成の一例を示す回路構成図 本発明の実施の形態1におけるクロックゲーティング制御回路の構成の一例を示す回路構成図 本発明の実施の形態1におけるクロックゲーティング制御回路の入出力信号のタイミングチャートの一例 本発明の実施の形態1におけるパイプラインレジスタ内の各信号のタイミングチャートの一例 本発明の実施の形態2に係る画像処理回路の構成の一例を示す構成図 本発明の実施の形態2におけるパイプラインレジスタの構成の一例を示す回路構成図 本発明の実施の形態2における本実施の形態における比較回路の構成の一例を示す回路構成図 本発明の実施の形態3に係る画像処理回路の構成の一例を示す構成図 本発明の実施の形態3におけるデータパスの構成の一例を示す回路構成図 本発明の実施の形態3における比較回路の構成の一例を示す回路構成図
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
以下、本発明の実施の形態1に係る画像処理回路についての説明を、全体的な構成から細部の構成へと向かう方向で進める。
<画像処理回路の全体的な構成>
まず、画像処理回路の全体的な構成について説明する。
図1は、本実施の形態に係る画像処理回路の構成の一例を示す構成図である。
図1において、画像処理回路100は、外部メモリ(図示せず)から画像データを読み出して入力し、入力した画像データに対して各種変換処理(画像処理)を行う装置である。画像処理回路100は、たとえば、デジタルカメラあるいは携帯情報端末の内部の半導体集積回路に搭載されるものである。
なお、本実施の形態において、画像処理回路100が入力する画像データは、Nビット(Nは2以上の整数)の画素データを有する画像データであるものとする。また、左上位置を座標原点とした場合、画像処理回路100が入力する画像データは、画像を画素ラインごとに、左上位置から順に水平方向にラスター走査して得られる画素値のデータであるものとする。画像処理回路100は、フレーム単位で変換処理を行う際に、たとえば、ラスター走査順に走査ラインごとに処理を繰り返す。
画像処理回路100は、入力DMA(Direct Memory Access)101、第1のラインバッファ102、第1のフィルタ103、第2のフィルタ104、第2のラインバッファ105、第3のフィルタ106、出力DMA107、および制御部110を有する。なお、本実施の形態では、画像処理部として、第1のフィルタ103、第2のフィルタ104、および、第3のフィルタ106を備えているものとして説明するが、画像処理部の構成はこれに限定されない。画像処理部は、画像データに対するパイプライン的な各種変換処理(画像処理)が適用されるものであればよい。
入力DMA101は、画像データを入力する入力部となるDMA回路である。より具体的には、入力DMA101は、外部メモリ(図示せず)の所定のフレームバッファ領域から、画像データを、画素ライン単位で順次読み出す(リード転送)。そして、入力DMA101は、読み出した画素ラインごとの画像データ(以下「ラインデータ」という)を第1のラインバッファ102へ転送する。
第1のラインバッファ102は、入力DMA101から転送されてきラインデータを一時的に格納する。第1のラインバッファ102は、後段の第1のフィルタ103の処理に必要なライン数分のラインデータを少なくとも格納する。たとえば、第1のフィルタ103の処理で垂直方向に4ラインの連続したデータが必要である場合、第1のラインバッファ102は、4ライン分以上のラインデータを格納可能なバッファ領域を持つ。
第1のフィルタ103は、第1のラインバッファ102に格納された各ラインデータを入力する。そして、第1のフィルタ103は、クロック信号に同期し、入力したラインデータに対するパイプライン処理(画像処理)を行う。
より具体的には、第1のフィルタ103は、入力したラインデータに対して、たとえば、ノイズ除去処理などの所定の変換処理を行うフィルタ回路である。第1のフィルタ103は、必要な本数の(つまり画像の垂直方向において必要な画素数分の)ラインデータを、第1のラインバッファ102から同一のタイミングで読み出して入力する。この際、第1のフィルタ103は、複数のラインデータ間で同一画素位置のデータが同一のタイミングで入力されるように、画像の左端画素から右端画素へと向かう方向に画素単位でデータを順次入力する。ここで、同一画素位置とは、画像の水平方向の位置が同一であることを示す。
そして、第1のフィルタ103は、画像処理の結果として得られたラインデータを、第2のフィルタ104へ出力する。
第2のフィルタ104は、クロック信号に同期し、第1のフィルタ103から入力された各ラインデータに対するパイプライン処理を行う。より具体的には、第2のフィルタ104は、入力したラインデータに対して、たとえば、エッジ強調フィルタ処理などの所定の変換処理を行うフィルタ回路である。そして、第2のフィルタ104は、画像処理の結果として得られたラインデータを、第2のラインバッファ105へ出力する。
第2のラインバッファ105は、第2のフィルタ104から入力された各ラインデータを、一時的に格納する。第2のラインバッファ105は、後段の第3のフィルタ106の処理に必要なライン数分のラインデータを少なくとも格納する。
第3のフィルタ106は、第2のラインバッファ105に格納された各ラインデータを入力し、クロック信号に同期し、入力したラインデータに対するパイプライン処理を行う。
より具体的には、第3のフィルタ106は、入力したラインデータに対して、たとえば、YUV系からRGB系、あるいはその逆方向の色空間変換処理などの、所定の変換処理を行うフィルタ回路である。第3のフィルタ106は、必要な本数の(つまり画像の垂直方向において必要な画素数分の)ラインデータを、第2のラインバッファ105から同一のタイミングで読み出して入力する。
そして、第3のフィルタ106は、画像処理の結果として得られたラインデータを、出力DMA107へ出力する。
出力DMA107は、画像データを出力する出力部となるDMA回路である。出力DMA107は、第3のフィルタ106から入力された各ラインデータを、入力された順に、外部メモリのフレームバッファ領域に書き込む(ライト転送)。
制御部110は、設定されたパラメータに従って、1フレーム分の画像データが左上端から順に水平方向の画素ライン単位で処理されるように、入力DMA101〜出力DMA107を制御する。なお、パイプライン処理動作の詳細を制御するため、第1のラインバッファ102〜第3のフィルタ106の各ラインバッファとフィルタの各々において、別途(図示しない)制御部を有する構成が考えられる。
以上の構成のうち、第1のラインバッファ102〜第3のフィルタ106は、クロック信号に同期し画像データに対するパイプライン処理を行う画像処理部を構成する。ただし、後述するが、この画像処理部は、画像処理の消費電力を低減した状態で行うことが可能な構成を有している。また、個々のフィルタ、後述するデータパス、あるいはパイプラインレジスタのそれぞれは、クロック信号に基づき画像データに対するパイプライン処理を行う、画像処理部として捉えてもよい。
<フィルタ回路の全体的な構成>
次に、第1〜第3のフィルタ103、104、106の全体的な構成について説明する。
本実施の形態において、第1〜第3のフィルタ103、104、106は、画像データに対するパイプライン処理を行うものであればよく、その構成は特定のものに限定されない。そこで、第1〜第3のフィルタ103、104、106の構成の共通部分は、「フィルタ200」と表し、フィルタ200の構成について説明を行う。
図2は、入力されるラインデータ(画像データ)がYUV形式である場合の、フィルタ200の構成の一例を示す構成図である。
図2に示すように、フィルタ200は、たとえば、第1〜第3のデータパス201〜203を有する。第1〜第3のデータパス201〜203は、順に、Y成分用のデータパス、U成分用のデータパス、V成分用のデータパスである。
フィルタ200に入力された各ラインデータは、Y成分、U成分、およびV成分に分離される。そして、分離した各成分は、第1〜第3のデータパス201〜203のうち対応するものに入力され、それぞれ変換処理が施される。
第1〜第3のデータパス201〜203は、同一のパイプライン段数によるパイプライン処理を行い、同一画素位置のデータを同一のタイミングで出力する。第1〜第3のデータパス201〜203の各々の演算器構成は、フィルタ200が行う変換処理の内容に依存する。また、第1〜第3のデータパス201〜203間の接続の有無およびその構成も、フィルタ200が行う変換処理の内容に依存する。たとえば、Y成分の演算途中結果をU成分の演算処理に使用する内容の処理を行う場合、第1のデータパス201の内部の演算途中結果が、第2のデータパス202の所望のパイプライン位置の入力として与えられる。
なお、ラインデータがRGB形式である場合も、同様に、色成分ごとのデータパスが分離されて配置された構成となる。一方、フィルタ200が、ラインデータに対するYUV形式からRGB形式への変換処理を行うようなものである場合、構成は少し異なったものとなる。
図3は、フィルタ200がYUV形式からRGB形式への変換を行う場合の、フィルタ200の構成の一例を示す構成図である。
図3に示すように、フィルタ200は、たとえば、色成分ごとに分離されていないデータパス204を有する。データパス204は、Y成分、U成分、およびV成分のデータ間で演算処理を行う。
<データパスの内部構成>
次に、フィルタ200内の第1〜第3のデータパス201〜203およびデータパス204の構成について説明する。
本実施の形態において、第1〜第3のデータパス201〜203およびデータパス204は、パイプライン処理による変換処理を行うものであればよく、その構成は特定のものに限定されない。そこで、第1〜第3のデータパス201〜203およびデータパス204の構成の共通部分は、「データパス300」と表し、データパス300の構成について説明を行う。
また、以下の説明において、画像データ(ラインデータ)の各色成分のデータは、たとえば、8ビット(bit)カラー(256色)のデータであるものとする。また、ラインデータのうち、1画素に対応する部分は、「画素データ」という。すなわち、画素データの各色成分は、8ビットである。そして、データパス300は、4つのラインデータ(4本の画素ライン分のラインデータ)を同時に入力して処理するものとする。ここでデータパス300は、1つの色成分の画素データに対するデータパスとする。つまり、第1〜第3のデータパス201〜203の各データパスに対応する。
図4は、データパス300の構成の一例を示す回路構成図である。
図4に示すように、データパス300は、パイプラインレジスタ301A〜301D、302A〜302D、303A〜303D、304A〜304D、312A〜312B、313A、314A、および、演算回路321〜323を有する。
パイプラインレジスタ301A〜314Aのうち、パイプラインレジスタ301A〜304Dは、それぞれ、入力される各色成分の画素データの値を保持するレジスタである。パイプラインレジスタ301A〜304Dは、シフトレジスタにより構成され、演算回路321〜323のうち、対応するパイプラインステージにおける演算回路への入力データを出力する。すなわち、パイプラインレジスタ301A〜304Dは、それぞれ、ライン単位で連続した画素データを順次入力し、入力した画素データを順次保持していく。
なお、パイプラインレジスタ301A〜314Aのうち、パイプラインレジスタ312A〜312B、313A、314Aは、パイプライン処理における演算処理の中間処理結果を格納するレジスタである。データパス300においては、パイプラインレジスタ312A〜312B、313A、314Aのそれぞれの保持ビット数は、たとえば9ビットである。
演算回路321〜323は、各パイプラインステージの演算回路である。演算回路321〜323は、たとえば、それぞれ、乗算、加算、減算等の算術演算、クリッピング処理などを行う回路を、組み合わせた組み合わせ回路により、所望の論理演算を実現する。
なお、データパス300の構成は、図4に示した内容に限定されない。データパス300において、パイプラインレジスタは、画像処理の各パイプラインステージのうち必要なステージに配置されていればよい。また、入力する画素データのビット数あるいは演算回路の中間処理結果のビット数は、上述の内容に限定されるものではなく、それぞれ、10ビット、12ビット、あるいは16ビットなどであってもよい。
データパス300は、画素ライン数が多いほど、垂直方向に(つまり並列に)配置されたパイプラインレジスタがより多く必要となる。データパス300は、パイプライン段数が多いほど、水平方向に(つまり直列に)配置されたパイプラインレジスタがより多く必要となる。すなわち、データパス300が行う処理の内容に応じて、パイプラインレジスタの数は異なる。パイプラインレジスタの数が多いほど、後述の消費電力の低減効果および回路規模の抑制効果は、より顕著となる。
<パイプラインレジスタの構成>
次に、データパス300内のパイプラインレジスタ301A〜304Dの構成について説明する。
本実施の形態において、パイプラインレジスタ301A〜314Aは、入力データを所定のビット数分保持するものであればよく、その構成は特定のものに限定されない。そこで、パイプラインレジスタ301A〜314Aの構成の共通部分は、「パイプラインレジスタ400」と表し、パイプラインレジスタ400の構成について説明を行う。
図5は、パイプラインレジスタ400の構成の一例を示す回路構成図である。
図5に示すように、パイプラインレジスタ400は、複数の上位ビット用フリップフロップ(FF)回路401、複数の下位ビット用フリップフロップ回路402、比較回路403、およびクロックゲーティング制御回路404を有する。
上位ビット用フリップフロップ回路401は、保持するデータのうち上位のnビットのデータを入力とする、上位nビット用レジスタである。ここでは、上位ビット用フリップフロップ回路401は、並列に5つ設けられている。そして、5つの上位ビット用フリップフロップ回路401は、たとえば、画素データ8ビットのうち上位側(MSB)5ビットを保持するものとする。
下位ビット用フリップフロップ回路402は、保持するデータのうち下位のlビットのデータを入力とする、下位lビット用レジスタである。ここでは、下位ビット用フリップフロップ回路402は、並列に3つ設けられている。そして、3つの下位ビット用フリップフロップ回路402は、たとえば、画素データ8ビットのうち下位側(LSB)3ビットを保持するものとする。
なお、上位ビット用フリップフロップ回路401および下位ビット用フリップフロップ回路402は、通常のデータ入力型フリップフロップ回路である。ここでは特に図示していないが、上位ビット用フリップフロップ回路401および下位ビット用フリップフロップ回路402には、リセット入力を必要に応じて加えてもよい。
比較回路403は、5つの上位ビット用フリップフロップ回路401に対する5ビットの入力値と、5つの上位ビット用フリップフロップ回路401からの5ビットの出力値とを、入力する。以下、5つの上位ビット用フリップフロップ回路401に対する5ビットの入力値は、「上位ビット入力値」という。また、5つの上位ビット用フリップフロップ回路401からの5ビットの出力値は、「上位ビット出力値」という。比較回路403は、上位ビット入力値と上位ビット出力値とを比較し、同一か否かを逐次判定する。
図6は、比較回路403の構成の一例を示す回路構成図である。
図6に示すように、比較回路403は、たとえば、5個の2入力EXORゲート411と1個の5入力ORゲート412とにより構成される。比較回路403は、5ビットの上位ビット入力値inD3〜inD7と、5ビットの上位ビット出力値outD3〜outD7との間の一致検出を行い、検出結果(nCmp)を出力する。比較回路403は、上位ビット入力値inD3〜inD7と上位ビット出力値outD3〜outD7とが完全一致する場合、検出結果(nCmp)として「0」の信号を出力する。また、比較回路403は、上位ビット入力値inD3〜inD7と上位ビット出力値outD3〜outD7とが1ビットでも一致しない場合、検出結果(nCmp)として「1」の信号を出力する。
図5のクロックゲーティング制御回路404は、上位ビット入力値と上位ビット出力値とが同一であると比較回路403により判定されたとき、上位ビット用フリップフロップ回路401に次のクロック信号(CLK)が供給されないようにする。
図7は、クロックゲーティング制御回路404の構成の一例を示す回路構成図である。
図7に示すように、クロックゲーティング制御回路404は、たとえば、ラッチ回路(LAT)421とANDゲート422とにより構成される。ラッチ回路421は、(図示しない)外部から入力されるクロック信号(CLK)の立ち下がりエッジに基づいて、イネーブル信号として入力される比較回路403の出力(EN、検出結果nCmp)をラッチする。ANDゲート422は、ラッチ回路421の出力(ラッチされている値)とクロック信号(CLK)との論理積を出力する。すなわち、クロックゲーティング制御回路404は、常時供給されるクロック信号(CLK)に対して、イネーブル信号ENが1となる場合に、クロックGCLKを出力するものであり、一般的なクロックゲーティング制御回路である。
なお、ライトイネーブル制御信号とそれら信号によるクロックゲーティング制御に関する回路および動作については、本発明の内容とは直接には関係しないため、個々での説明を省略する。
図8は、クロックゲーティング制御回路404の入出力信号のタイミングチャートの一例である。
クロックゲーティング制御回路404は、比較回路403の出力(EN)が「1」である区間501に対して、次のクロック信号(CLK)を、クロック信号(GCLK)として出力する。かかる区間501は、つまり、上位ビット入力値と上位ビット出力値とが一致していない区間である。
パイプラインレジスタ400は、クロック信号(CLK)の立ち上がりエッジで、保持する画素データが更新される。画素データが更新されると、比較回路403は、パイプラインレジスタ400の入出力が一致するか否かを判定する。判定結果が「1」である場合、入出力が不一致なので、クロックゲーティング制御回路404は、次のクロック信号(CLK)をクロック信号(GCLK)として出力させる。このために、クロックゲーティング制御回路404は、比較回路403の出力(EN)をクロック信号(CLK)の立ち下がりでラッチ回路421がラッチする。そして、クロックゲーティング制御回路404は、比較回路403の出力(EN)を半クロック分ずらした波形となるラッチ回路421の出力(LAT出力)により、半クロック分タイミングをずらして、確実にクロック信号(GCLK)を生成する。
一方、クロックゲーティング制御回路404は、比較回路403の出力(EN)が「0」である区間502に対して、次のクロック信号(CLK)を、「0」が継続する信号(GCLK)を出力する。かかる区間502は、つまり、上位ビット入力値と上位ビット出力値とが一致している区間であり、上位ビット用フリップフロップ回路401のフリップフロップ動作が不要な区間である。
すなわち、クロックゲーティング制御回路404は、判定結果を示す信号が「1」である間、クロック信号を、5つの上位ビット用フリップフロップ回路401のそれぞれへ供給する。そして、クロックゲーティング制御回路404は、判定結果を示す信号が「0」である間、クロック信号の各上位ビット用フリップフロップ回路401への供給を遮断(ゲーティング)する。
この遮断は、上述の通り、各上位ビット用フリップフロップ回路401への入力値が、既に保持されている値(出力値)と同一であり、新たに値の書き込みを行う必要がないためである。この結果、上位ビット用フリップフロップ回路401のクロック入力ライン部のスイッチング動作の回数が低減し、上位ビット用フリップフロップ回路401の消費電力を低減することができる。なお、クロック信号の供給が遮断されている間、上位ビット用フリップフロップ回路401には、最後に書き込まれた値がそのまま保持され続ける。
なお、パイプラインレジスタ400は、図5に示すように、下位ビット用フリップフロップ回路402に対しては、クロックゲーティングを行うような回路を介さずに、制御部110から出力されるクロック信号をそのまま入力する。すなわち、パイプラインレジスタ400は、下位ビット用フリップフロップ回路402へのクロック信号の供給を制御する、比較回路およびクロックゲーティング回路などの回路を有さない。
なお、パイプラインレジスタ312A、312B、313A、313Bに関しては、保持するデータが9ビットとなる。このため、たとえば、比較回路とクロックゲーティング制御回路の接続対象となる上位側ビットを6ビットとし、対象外とする下位側ビットを3ビットとする構成としてもよい。このように、パイプラインレジスタの各レジスタの保持するデータのビット幅、保持する演算途中結果の一致頻度特性への影響を考慮し、各パイプラインレジスタにより対象とする上位側ビットのビット幅を増減することも可能である。
<パイプライン処理の処理タイミング>
次に、パイプラインレジスタ400内における各信号の波形について、具体例を挙げて説明する。
図9は、パイプラインレジスタ400内におけるパイプライン処理時の各信号のタイミングチャートの一例である。図9では、参考として、各画素データに対応する画素位置を、併せて図示する。
図9に示すように、画素位置P0〜P7の区間において、制御信号Vldが、画素データinD(下位ビットの3ビットと上位ビットinD[7:3]を含む)が有効である事を示す「1」となっていたとする。パイプラインレジスタ400は、制御信号Vldが「1」となっている区間を検出することにより、入力画素の位置(水平座標)P0〜P7の画素データを取得する。
図9において、上位ビット入力値inD[7:3]、上位ビット出力値outD[7:3]である、Dx、Da、Db〜Ddは、それぞれ異なる値を表すものとする。なお、上位ビット入力値inD[7:3]は、パイプラインレジスタ400への入力画素データの上位側5ビットである。また、上位ビット出力値outD[7:3]は、パイプラインレジスタ400の保持データである。
画素位置P2〜P4、P6の区間では、直前の隣接画素との間で値が一致していたとする。この場合、図9に示すように、上位ビット入力値inD[7:3]が画素位置P2〜P4、P6に対応している間は、比較回路403の出力信号nCmpは「0」となる。この結果、図9に示すように、下位ビット入力値outD[7:3]が画素位置P2〜P4、P6に対応している間、クロックゲーティング制御回路404の出力信号GCLKは、「0」となる。すなわち、クロック信号CLKの上位ビット用フリップフロップ回路401への供給が停止される。
なお、下位ビット用フリップフロップ回路402には、少なくとも制御信号Vldが「1」となっている区間は、常時、クロック信号CLKが供給されることになる。
画像データの場合、色成分ごとの画素データでは、上位側ビットで隣接画素が一致する頻度は高く、下位側ビットで隣接画素が一致する頻度は低い傾向にある。言い換えると、色成分ごとの画素データでは、上位ビットの値と比較すると、下位ビットにおいて同一の値が継続することは少ない。
したがって、画像データの場合、下位ビットでは、クロックゲーティングを行おうとしても、ほとんどの区間においてクロック信号を遮断する頻度が非常に少なく、比較回路の動作に必要な消費電力が無駄といえる。
そこで、上述の通り、本実施の形態に係る画像処理回路100は、下位ビット用フリップフロップ回路402について、比較回路およびクロックゲーティング制御回路を設けず、クロックゲーティングを行わないようにしている。すなわち、画像処理回路100は、クロックゲーティングを実行する機会が多く期待できる上位側ビットに対してのみ、比較回路およびクロックゲーティング制御回路を配置するようにしている。
これにより、画像処理回路100は、比較回路の動作による消費電力の増大を低減し、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことを可能にする。また、画像処理回路100は、下位ビット用フリップフロップ回路402についても比較回路およびクロックゲーティング制御回路を設ける場合に比べて、パイプラインレジスタごとに必要な回路リソースの増加を抑制することができる。
なお、クロックゲーティング制御の対象となる上位ビットの数(本実施の形態では5ビット)の最適値は、画像データの内容や種別に依存する。各色成分の画素データが8ビットの場合、上位側4〜6ビットのいずれかのビット数を、クロックゲーティング制御の対象とすることで、各種の画像データに対して概ね良好な結果を得られるという評価結果が、発明者により得られている。
また、図2に示すようにデータパスが色成分ごとに独立している構成において、画像処理回路100は、色成分ごとにクロックゲーティング制御の対象となる上位ビットの数が異なる構成であってもよい。すなわち、比較回路およびクロックゲーティング制御回路が、接続されるフリップフロップ回路に入力するデータの画像データにおけるビット範囲は、色成分ごとに異なっていてもよい。
たとえば、Y成分の第1のデータパス201では、上位側5ビットをクロックゲーティング制御の対象とし、U成分およびV成分の第2および第3のデータパス202、203では、上位側6ビットをクロックゲーティング制御の対象とする。このような構成は、Y成分よりもU成分およびV成分のほうが、値が変化する頻度が低いビット範囲の幅(最適となるビット幅)が大きい傾向がある場合に、有効である。
このように、本発明は、色成分ごとにクロックゲーティング制御の対象となるビット範囲を最適化することにより、更に、消費電力を低減することが可能となる。
以上のように、本実施の形態に係る画像処理回路100は、クロック信号に同期し、画像データに対するパイプライン処理を行う画像処理部を有する。そして、その画像処理は、上位nビット用レジスタへのクロック信号の供給に対して画像データに基づく制御を行うが、下位lビット用レジスタへのクロック信号の供給に対してはこのような制御を行わないようにする。すなわち、画像処理は、下位lビット用レジスタに対して、比較回路およびクロックゲーティング制御回路を不要とする。
これにより、本実施の形態に係る画像処理回路100は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができ、消費電力の低減に伴う回路規模の増大を抑制することができる。
なお、以上の説明では、画像処理回路100が画像の画素ライン単位で繰返し処理を行う前提としたが、処理単位はこれに限定されるものではない。たとえば、画像処理回路100は、画像を矩形領域に分割したブロック(分割領域)を単位として、変換処理を実行してもよい。
また、画像処理回路100は、比較回路を、複数の上位ビット用フリップフロップ回路についてまとめて1つではなく、上位ビット用フリップフロップ回路ごとに有してもよい。ただし、上述のように、画像処理回路100では、まとめて1つの比較回路とするほうが、比較動作による消費電力の増大および回路規模の増大がより低減される。
(実施の形態2)
本発明の実施の形態2は、比較回路の動作が不要である場合に比較回路の動作を停止させるようにした例である。
<画像処理回路の全体的な構成>
図10は、本実施の形態に係る画像処理回路の構成の一例を示す構成図であり、実施の形態1の図1に対応するものである。図1と同一部分には同一符号を付し、これについての説明を省略する。
図10において、画像処理回路100aは、図1に示す構成に加えて、入力DMA101と第1のラインバッファ102との間に配置された相関度検出部108aを有する。また、画像処理回路100aは、図1の制御部110に代えて、比較処理モード制御部111aを備えた制御部110aを有する。
相関度検出部108aは、画像データから、隣接画素間の一致頻度を示す相関度を取得する。ここで、隣接画素とは、画像の走査方向が水平方向である場合、入力画像において隣接する画素のうち、水平方向において隣接している画素である。より具体的には、相関度検出部108aは、入力DMA101から出力されるラインデータを入力して第1のラインバッファ102へ転送し、その際に、ラインデータから相関度を抽出する。そして、相関度検出部108aは、取得した相関度を、逐次、比較処理モード制御部111aへ出力する。
より具体的には、相関度検出部108aは、ラインデータ上の隣接画素間で画素値が一致する箇所の個数をカウントする。そして、相関度検出部108aは、たとえば、画素ライン、フレーム、あるいはフレームを矩形に分割した分割領域を単位として、カウント値を集計し、ラインデータ上の隣接画素間で画素値が一致する頻度(以下「一致頻度」という)を算出する。かかる一致頻度は、たとえば、隣接する他の画素との間で画素値が一致する画素の数あるいは割合で表される。なお、一致頻度の計測対象のサンプリング間隔は、4画素間隔あるいは8画素間隔などのように広く設定してもよい。この場合、処理負荷を軽減することが可能となる。
なお、相関度検出部108aは、クロックゲーティング制御の対象となるのは、画素データの上位ビットのみであるため、上位ビットのデータのみから一致頻度を算出することが望ましい。これにより、処理負荷の軽減および高速化だけでなく、クロックゲーティング制御の判断の適正化を図ることができる。
そして、相関度検出部108aは、計測した一致頻度を、一致頻度が計測された領域の相関度として、比較処理モード制御部111aへ出力する。
比較処理モード制御部111aは、相関度が低い区間において、第1〜第3のフィルタ103、104、106の比較回路の動作を停止させる。
より具体的には、比較処理モード制御部111aは、相関度検出部108aから入力された相関度を保持する。そして、比較処理モード制御部111aは、保持している相関度が予め定められた閾値以上である場合、比較処理モードを、比較動作を行うモード(オン)に決定する。これは、つまり、クロックゲーティングを行う機会が比較的多い場合であり、比較動作の意義が高い場合である。
また、比較処理モード制御部111aは、保持している相関度が予め定められた閾値未満である場合、比較処理モードを、比較動作を行わないモード(オフ)に決定する。これは、つまり、クロックゲーティングを行う機会が比較的少ない場合であり、比較動作の意義が低い場合である。
そして、比較処理モード制御部111aは、決定した比較処理モードが実現されるように、第1〜第3のフィルタ103、104、106を制御する。
たとえば、比較処理モード制御部111aは、相関度検出部108aによる一致頻度計測が画素ライン単位で実行されている場合、ラインデータごとに比較処理モードを決定する。また、比較処理モード制御部111aは、その決定の基となった一致頻度が計測された画素ラインのラインデータが、第1〜第3のフィルタ103、104、106で処理される際に、決定した比較処理モードが実現されるようにする。
なお、第2のフィルタ104と第3のフィルタ106へ入力される画像データは、第1のフィルタで処理された画像データとなるため、その処理内容に依存して相関度検出部108aで計測した一致頻度の傾向を適用できない場合がある。適用できない場合、たとえば、比較処理モード制御部111aによる比較処理モードの制御対象を、第2のフィルタ104と第3のフィルタ106に対しては除外する。あるいは、第3のフィルタ106に対する相関度検出部を、別途、第2のフィルタ104と第2のラインバッファ105の間に追加する対応を行う。
また、第1のフィルタ103のライン処理に第1のラインバッファ102から4ラインのラインデータが入力される場合を想定する。この場合、予め相関度検出部108aで計測された入力4ラインデータの一致頻度の平均値が設定された閾値を下回っていた場合には比較処理モードをオフとし、閾値以上の場合は比較処理モードをオンとする制御が考えられる。
第1〜第3のフィルタ103、104、106のパイプラインレジスタは、実施の形態1と同様に、上位ビット用フリップフロップ回路ごとに有している。しかし、その比較回路は、制御信号(CmpMode)の入力を受け、その信号に応じて、比較動作のオンオフを切り替える。上述の比較処理モード制御部111aは、この制御信号(CmpMode)を各比較回路に入力することにより、第1〜第3のフィルタ103、104、106の比較処理モードを制御する。
本実施の形態において、比較処理モード制御部111aは、比較処理モードをオフにする場合は、0の制御信号(CmpMode)を出力し、比較処理モードをオンにする場合は、「1」の制御信号(CmpMode)を出力する。
<パイプラインレジスタの構成>
図11は、本実施の形態におけるパイプラインレジスタの構成の一例を示す回路構成図であり、実施の形態1の図5に対応するものである。図5と同一部分には、同一符号を付し、これについての説明を省略する。
図11に示すように、本実施の形態におけるパイプラインレジスタ400aは、図5の比較回路403に代えて、比較回路403aを有する。比較回路403aは、比較処理モード制御部111aから入力される制御信号(CmpMode)に応じて、比較動作のオンオフを切り替える。
<比較回路の構成>
図12は、本実施の形態における比較回路403aの構成の一例を示す回路構成図であり、実施の形態1の図6に対応するものである。図6と同一部分には、同一符号を付し、これについての説明を省略する。
図12に示すように、本実施の形態における比較回路403aは、EXORゲート411群の入力側に、入力固定化回路430aを有している。入力固定化回路430aは、EXORゲート411群の入力信号値を、比較処理モード制御部111aからの制御信号(CmpMode)により固定化するゲートである。
入力固定化回路430aは、上位ビット出力値outD3以外の入力信号のそれぞれに対して、制御信号(CmpMode)との論理積を取るANDゲート431aを挿入した構成となっている。ここで、上位ビット出力値outD3以外の入力信号とは、つまり、上位ビット入力値inD3〜inD7および上位ビット出力値outD4〜outD7である。また、入力固定化回路430aは、上位ビット出力値outD3に対して、インバータゲートを挿入した制御信号(CmpMode)との論理和を取るORゲート432aを挿入した構成となっている。
このような入力固定化回路430aを有する比較回路403aは、制御信号(CmpMode)が「0」の場合、EXORゲート411群以降の信号を固定化し、出力信号(nCmp)を1にする。この結果、比較結果が常時不一致ということになり、クロックゲーティングが行われない状態となる。
上位ビット入力値と上位ビット出力値とが同一である頻度が低いときは、全体として、不要な比較動作による消費電力のほうが、不要なフリップフロップ動作による消費電力を上回ることがある。したがって、画像処理回路100aでは、このように、比較動作を必要な場合に制限することにより、消費電力の更なる低減を図ることができる。
なお、制御信号(CmpMode)が「1」の場合、画像処理回路100aは、実施の形態1と同様に比較回路403aの比較動作と、その比較結果に応じたクロックゲーティング動作とを行うことになる。
以上のように、本実施の形態に係る画像処理回路100aは、画像データから、隣接画素間の一致頻度を示す相関度を取得し、相関度が低い区間において、比較動作を停止させる。言い換えると、画像処理回路100aは、これから処理する画像データの画像領域の一致頻度を予め計測し、計測した一致頻度に基づいて比較処理モードをオフにする。すなわち、画像処理回路100aは、一致検出対象となる上位側ビットの一致頻度が低く、クロックゲーティングが実行できる機会が少なく、省電力効果が逆に悪化するような期間を、クロックゲーティング処理の対象から適応的に除外する。
これにより、本実施の形態に係る画像処理回路100aは、画像データに対するパイプライン処理の消費電力を、更に低減させることができる。
なお、相関度となる一致頻度の計測は、画像処理回路100aの外部で行われてもよい。この場合、画像処理回路100aは、外部から一致頻度を入力すればよい。
また、画像処理回路100aは、相関度を、画像データのカテゴリなど、一致頻度以外の情報から取得してもよい。たとえば、画像処理回路100aは、映画など、映像が変化しない区間の割合が高いカテゴリの画像データに対して、そのカテゴリに基づいて、相関度が高いと判定してもよい。そして、画像処理回路100aは、シューティングゲームなど、映像が変化しない区間の割合が低いカテゴリの画像データに対して、そのカテゴリに基づいて、相関度が低いと判定してもよい。
また、一致頻度の計測結果を、計測対象となった画像データそのものに反映させるようにする場合、上述の第1のラインバッファ102には、一致頻度の計測単位分の画像データを格納する容量が必要となる。あるいは、画像処理回路100aの外部で計測する場合、処理遅延が発生することがある。したがって、画像処理回路100aは、必ずしも、一致頻度の計測結果を、計測対象となった画像データそのものに反映させなくてもよく、後続の別の画像データに反映させるようにしてもよい。
この場合、画像処理回路100aは、たとえば、1つ前のフレームから計測された一致頻度に基づいて、比較処理モードを制御する。すなわち、画像処理回路100aは、たとえば、相関度検出部108aにおいて、他のフレームにおいて検出された相関度を転用する。
連続映像の場合は、時間的に近いフレーム間で一致頻度が大きく変化することは少ない(つまり、フレーム間の相関が高い)。したがって、このような場合でも、画像処理回路100aは、画像処理の結果として得られる画像の画質低下を防ぎつつ、上記省電力化を図ることができる。
なお、画像処理回路100aは、1つ前のフレームよりも更に過去のフレームで検出された一致頻度に基づいて、比較処理モードの制御を行うようにしてもよい。しかし、時間的により近いフレームのほうが、一致頻度の相関もより高いため、できるだけ時間的に近いフレームにおいて検出された一致頻度を用いることが望ましい。
(実施の形態3)
本発明の実施の形態3は、ステレオ画像の左目画像データと右目画像データとの間で、一方の比較回路の出力を他方に流用することで、他方の比較回路の動作を停止させるようにした例である。
<画像処理回路の全体的な構成>
図13は、本実施の形態に係る画像処理回路の構成の一例を示す構成図であり、実施の形態1の図1に対応するものである。図1と同一部分には、同一符号を付し、これについての説明を省略する。
図13において、本実施の形態に係る画像処理回路100bは、ステレオ画像(3D画像)の左目画像(L画像)のデータである左目画像データと、ステレオ画像の右目画像(R画像)のデータである右目画像データとを入力する。
画像処理回路100bは、図1の第1のラインバッファ102、第1のフィルタ103、および第2のフィルタ104を、左目画像データ用と右目画像データ用として2つずつ有する。すなわち、画像処理回路100bは、左目画像用の画像処理部と右目画像用の画像処理部とを並列に有する。
以下、左目画像データ用の第1のラインバッファ102、第1のフィルタ103、および第2のフィルタ104は、順に、左用第1のラインバッファ102L、左用第1のフィルタ103L、および左用第2のフィルタ104Lという。左用第1のフィルタ103Lおよび左用第2のフィルタ104Lは、Nビット(Nは2以上の整数)の画素データを有する左目画像データに対するパイプライン処理を行う左目画像処理部である。
また、右目画像データ用の第1のラインバッファ102、第1のフィルタ103、および第2のフィルタ104は、順に、右用第1のラインバッファ102R、右用第1のフィルタ103R、および右用第2のフィルタ104Rという。右用第1のフィルタ103Rおよび右用第2のフィルタ104Rは、Nビット(Nは2以上の整数)の画素データを有する右目画像データに対するパイプライン処理を行う右目画像処理部である。
そして、画像処理回路100bは、左用第1のラインバッファ102Lおよび右用第1のフィルタ103Rと、左用第1のフィルタ103Lおよび右用第1のフィルタ103Rとの間に、入力タイミング調整回路109bを有する。
また、画像処理回路100bは、図1の制御部110に代えて、左右ずれ画素数設定部112bおよび比較処理モード設定部113bを備えた制御部110bを有する。
なお、本実施の形態では、図1に示す第2のラインバッファ105および第3のフィルタ106を設けていないが、これらについても左目画像用と右目画像用とを設けるようにしてもよい。
入力タイミング調整回路109bは、左目画像データの左目画像処理部への入力タイミング、および、右目画像データの右目画像処理部への入力タイミングのうち、少なくとも一方を調整する。より具体的には、入力タイミング調整回路109bは、左目画像と右目画像との間の対応画素対に対して、左目画像処理部における画像処理と右目画像処理部における画像処理とが同時に行われるように、上記調整を行う。入力タイミング調整回路109bは、この調整を、ラインデータごとあるいはフレームごとなど、画素ラインを基準とした所定の画像単位ごとに行う。
また、入力タイミング調整回路109bは、この調整を、左右ずれ画素数設定部112bにより設定される後述の左右ずれ画素数に基づいて行う。より具体的には、入力タイミング調整回路109bは、左目画像データおよび右目画像データのうち少なくとも一方の出力タイミングを、出力データにおいて当該左右ずれ画素数がゼロになる方向に、左右ずれ画素数の分だけ調整する。
左右ずれ画素数設定部112bは、所定の画像単位ごとに、左目画像と右目画像との間の対応画素対の間のずれ量に相当する画素数を取得し、取得した画素数を、左右ずれ画素数として入力タイミング調整回路109bに設定する。対応画素対は、左目画像と右目画像との間で同一の対象を表示する画素のペア、あるいは、表示すると推定される画素のペアである。対応画素対には、隣接画素との画素値の一致不一致が共通となり易いという傾向がある。
より具体的には、左右ずれ画素数設定部112bは、たとえば、別の処理において左目画像または右目画像のデプス情報を算出し、その際に抽出される中間処理結果のパラメータあるいはデプス情報から、左右ずれ画素数を算出する。また、左右ずれ画素数設定部112bは、たとえば、ステレオ画像の撮影条件または生成条件である視点距離、視差などの、画像生成に関するパラメータを元に、左右ずれ画素数を算出してもよい。
比較処理モード設定部113bは、左目画像処理部および右目画像処理部のうち少なくとも一方の比較回路の動作を停止させ、当該一方のクロックゲーティング制御回路に対して、他方の比較回路の判定結果を使用させる。すなわち、比較処理モード設定部113bは、左目画像処理部および右目画像処理部の一方の比較回路の判定結果を、他方のフィルタにも利用する。そして、比較回路の判定結果を他方のフィルタで利用するようにした上で、比較処理モード設定部113bは、当該他方のフィルタの比較回路を動作させないようにする(以下「比較結果の流用」という)。
より具体的には、比較処理モード設定部113bは、比較結果の流用を行うか否かを決定し、決定結果を示すモード信号(CmpMode_3D)を、右目画像処理部の各パイプラインレジスタへ出力する。モード信号(CmpMode_3D)は、たとえば、比較結果の流用をしないとき、0の値を取り、比較結果の流用をするとき、1の値を取る。モード信号(CmpMode_3D)は、右目画像処理部の各パイプラインレジスタに共通のモード信号である。
更に、比較処理モード設定部113bは、実施の形態2で説明した、比較動作のオンオフを切り替える制御信号(CmpMode)を出力する。制御信号(CmpMode)は、たとえば、比較結果の流用をしないとき、「1」となり、比較結果の流用をするとき、「0」となる。
なお、左用第1のフィルタ103Lと右用第1のフィルタ103Rとは、ほぼ同一の構成を有している。また、左用第2のフィルタ104Lと右用第2のフィルタ104Rとは、ほぼ同一の構成を有している。以下、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lと、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rとの間で、構成的に対称となっているフィルタには、「他方の」との表現を用いる。また、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lと、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rとの間で、構成的に対称となっている(同位置である)回路部分には、「対応する」との表現を用いる。
ただし、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lと、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rとの間では、比較回路の構成が異なる。そして、画像処理回路100bでは、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lの各比較回路の出力結果が、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rの対応する比較回路にも接続されている。
なお、本実施の形態では、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lと、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rとは、左目画像と右目画像のそれぞれ、1ラインの画像データを同時に処理するものとする。
以下、左用第1のフィルタ103Lおよび左用第2のフィルタ104Lの各データパスの構成の共通部分は、「左用データパス300bL」と表す。また、右用第1のフィルタ103Rおよび右用第2のフィルタ104Rの各データパスの構成の共通部分は、「右用データパス300bR」と表す。
<データパスの内部構成>
図14は、左用データパス300bLおよび右用データパス300bRの構成の一例を示す回路構成図であり、実施の形態1の図4に対応するものである。図4と同一部分には、同一符号を付し、これについての説明を省略する。
図14に示すように、左用データパス300bLの各パイプラインレジスタ301A〜314Aの比較回路からの出力信号(nCmpL)は、右用データパス300bRの対応するパイプラインレジスタ301D〜314Bに、入力される。
左用データパス300bLの各パイプラインレジスタ301A〜314Aの構成は、実施の形態1あるいは実施の形態2と同様とすることができる。一方、右用データパス300bRの各パイプラインレジスタ301D〜314Bの構成は、比較回路において、実施の形態1および実施の形態2とは異なる。以下、右用データパス300bRのパイプラインレジスタ301D〜314B内の比較回路の構成の共通部分は、「比較回路403b」と表す。
<比較回路の構成>
図15は、比較回路403bの構成の一例を示す回路構成図であり、実施の形態1の図6および実施の形態2の図12に対応するものである。図6および図12と同一部分には、同一符号を付し、これについての説明を省略する。
図15に示すように、比較回路403bは、ORゲート412の出力側に、セレクタ441bを有している。セレクタ441bは、ORゲート412の出力信号(nCmpR)と、他方のフィルタの対応する比較回路からの出力信号(nCmpL)とを切り替えて、後段のクロックゲーティング制御回路への出力信号(nCmp)として出力する。セレクタ441bは、比較処理モード設定部113bからのモード信号(CmpMode_3D)を選択信号として入力し、このモード信号に基づいて、出力信号の切り替えを行う。より具体的には、セレクタ441bは、たとえば、モード信号(CmpMode_3D)が「0」のとき、ORゲート412の出力信号(nCmpR)を出力する。また、セレクタ441bは、モード信号(CmpMode_3D)が「1」のとき、他方のフィルタの対応する比較回路からの出力信号(nCmpL)を出力する。
また、比較回路403bは、比較処理モード設定部113bからの制御信号(CmpMode)が「0」のとき、実施の形態2で説明したように、比較回路403bの入力固定化回路430a、EXORゲート411群、およびORゲート412の動作により入力信号を固定化する。制御信号(CmpMode)が「0」となるのは、上述の通り、モード信号(CmpMode_3D)が「1」になるときである。
したがって、比較回路403bは、比較処理モード設定部113bからの制御を受けて、対応する比較回路の判定結果を流用して自己の動作を停止することができる。一方で、互いに対応する2つの比較回路には、入力タイミング調整回路109bの機能により、対応画素対の画素データが同時に入力される。そして、対応画素対の画素データは、相関が高く、隣接画素との画素値の一致不一致が高い確率で共通する。
したがって、画像処理回路100bは、実施の形態1あるいは実施の形態2に記載の構成をそのままステレオ画像の画像処理に適用した場合に比べて、動作する比較回路の個数を更に低減することができる。すなわち、画像処理回路100bは、ステレオ画像の画像処理に関しても、消費電力の増大を抑制することができる。
ただし、画像によっては、対応画素対の実際の左右ずれ画素数が一定であるとは限らず、このため、対応画素対の隣接画素との画素値の一致不一致が常に共通であるとは限らない。したがって、画素ライン単位あるいはフレーム単位などで画像処理タイミングを調整する場合、実際には、対応画素対の隣接画素との画素値の一致不一致が一致していないにもかかわらず、比較結果の流用が行われる場合がある。すると、このような場合には、かかる流用を行わない場合に比べて、画像処理により得られる立体画像の劣化が生じ得る。
したがって、比較処理モード設定部113bは、対応画素対の実際の左右ずれ画素数が一定であるか否か、あるいは、一定でない度合いがユースケースにおいて許容できるかどうかに基づいて、比較結果の流用を行うか否かを決定するようにしてもよい。一定でない度合いが許容できるユースケースは、たとえば、画質劣化を許容した低消費電力を優先する場合である。
以上のように、本実施の形態に係る画像処理回路100bは、左目画像データおよび右目画像データの画像処理部への入力タイミングを調整した上で、左用画像処理部の比較回路の結果を、右用画像処理部の対応する比較回路の出力として流用する。これにより、画像処理回路100bは、ステレオ画像の画像データに対するパイプライン処理を、消費電力を更に低減した状態で行うことができる。
なお、本実施の形態において、画像処理回路100bは、左用画像処理部の比較回路の結果を右用画像処理部に流用する構成としたが、逆に、右左用画像処理部の比較回路の結果を左用画像処理部に流用する構成としてもよい。
なお、たとえば、ラインバッファの接続位置および個数、あるいは、フィルタの接続位置および個数など、画像処理回路の具体的な構成は、上記各実施の形態で説明した構成に限定されない。また、各フィルタが行う画像変換処理は、ラインデータに対してパイプライン的に行われるものであればよく、上記各実施の形態で説明した処理に限定されない。このような画像変換処理の具体例としては、たとえば、拡大処理、縮小処理、特徴量抽出処理、および色置換処理などが挙げられる。
本発明は、画像データに対するパイプライン処理を、消費電力を低減した状態で行うことができる、画像処理回路および半導体集積回路として有用である。すなわち、本発明は、画像データに対して、拡大処理、縮小処理、変形処理、あるいは画質調整処理などの変換処理を行い、記録または表示を行う機能を有する機器に好適である。特に、本発明は、携帯電話、タブレット、携帯TV、およびノートPCなどの携帯機器、あるいは、デジタルTV、DVD/BDレコーダ、デスクトップPC、車載向けナビゲーション機器などの据え置き機器に好適である。
100、100a、100b 画像処理回路
101 入力DMA
102 第1のラインバッファ
102L 左用第1のラインバッファ
102R 右用第1のラインバッファ
103 第1のフィルタ
103L 左用第1のフィルタ
103R 右用第1のフィルタ
104 第2のフィルタ
104L 左用第2のフィルタ
104R 右用第2のフィルタ
105 第2のラインバッファ
106 第3のフィルタ
107 出力DMA
108a 相関度検出部
109b 入力タイミング調整回路
110、110a、110b 制御部
111a 比較処理モード制御部
112b 左右ずれ画素数設定部
113b 比較処理モード設定部
200 フィルタ
201 第1のデータパス
202 第2のデータパス
203 第3のデータパス
204 データパス
300 データパス
300bL 左用データパス
300bR 右用データパス
301A〜314B パイプラインレジスタ
321〜323、321A〜323B 演算回路
400、400a パイプラインレジスタ
401 上位ビット用フリップフロップ回路
402 下位ビット用フリップフロップ回路
403、403a、403b 比較回路
404 クロックゲーティング制御回路
430a 入力固定化回路
411 EXORゲート
412、432a ORゲート
421 ラッチ回路
422、431a ANDゲート
441b セレクタ

Claims (7)

  1. Nビット(Nは2以上の整数)の画素データを有する画像データを入力する入力部と、
    クロック信号に基づき、前記画像データに対するパイプライン処理を行う画像処理部と、
    前記パイプライン処理により得られたデータを出力する出力部と、を有し、
    前記画像処理部は、
    保持するデータのうち上位のnビットのデータを入力とする上位nビット用レジスタと、
    保持するデータのうち下位のlビットのデータを入力とする下位lビット用レジスタと、
    前記上位nビット用レジスタの入力値と前記上位nビット用レジスタの出力値とが同一か否かを判定する比較回路と、
    前記入力値と前記出力値とが同一であると判定されたとき、前記上位nビット用レジスタに前記クロック信号が供給されないように、前記上位nビット用レジスタへの前記クロック信号の供給を制御するクロックゲーティング制御回路と、を有し、
    前記下位lビット用レジスタへの前記クロック信号の供給を制御する回路を有さない、画素データあるいはパイプライン処理途中の演算結果を保持するパイプラインレジスタを有する、
    画像処理回路。
  2. 前記画像データから、前記画像の隣接画素間の一致頻度を示す相関度を取得する相関度検出部と、
    前記相関度が低い区間において、前記比較回路の動作を停止させる比較処理モード制御部と、を有する、
    請求項1記載の画像処理回路。
  3. 前記相関度検出部は、
    前記画像を構成する1枚のフレームまたは前記フレームを分割した分割領域を単位として、前記相関度を取得する、
    請求項2記載の画像処理回路。
  4. 前記相関度検出部は、
    他のフレームにおいて検出された前記相関度を転用する、
    請求項3記載の画像処理回路。
  5. 前記画像データは、ステレオ画像の左目画像データおよび右目画像データを含み、
    前記画像処理部は、
    前記左目画像データに対する前記パイプライン処理を行う左目画像処理部と、
    前記右目画像データに対する前記パイプライン処理を行う右目画像処理部と、を有し、
    画素ラインごとに、前記左目画像と前記右目画像との間の対応画素対に対して、前記左目画像処理部における前記パイプライン処理と前記右目画像処理部における前記パイプライン処理とが同時に行われるように、前記左目画像データの前記左目画像処理部への入力タイミングおよび前記右目画像データの前記右目画像処理部への入力タイミングのうち、少なくとも一方を調整する入力タイミング調整回路と、
    前記左目画像処理部および前記右目画像処理部のうち少なくとも一方の前記比較回路の動作を停止させ、当該一方の前記クロックゲーティング制御回路に対して、他方の前記比較回路の判定結果を使用させる比較処理モード設定部と、を更に有する、
    請求項1記載の画像処理回路。
  6. 処理する画素データを構成する色成分ごとに用意された複数の前記画像処理部を有し、
    前記複数の画像処理部が備えるパイプラインレジスタは、
    前記上位nビット用レジスタに入力するデータのビット範囲が異なる、
    請求項1記載の画像処理回路。
  7. 請求項1に記載の画像処理回路を含む、半導体集積回路。
JP2011274303A 2011-12-15 2011-12-15 画像処理回路および半導体集積回路 Pending JP2013125436A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011274303A JP2013125436A (ja) 2011-12-15 2011-12-15 画像処理回路および半導体集積回路
PCT/JP2012/007711 WO2013088664A1 (ja) 2011-12-15 2012-11-30 画像処理回路および半導体集積回路
US14/365,349 US9443282B2 (en) 2011-12-15 2012-11-30 Image processing circuit and semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011274303A JP2013125436A (ja) 2011-12-15 2011-12-15 画像処理回路および半導体集積回路

Publications (1)

Publication Number Publication Date
JP2013125436A true JP2013125436A (ja) 2013-06-24

Family

ID=48612141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011274303A Pending JP2013125436A (ja) 2011-12-15 2011-12-15 画像処理回路および半導体集積回路

Country Status (3)

Country Link
US (1) US9443282B2 (ja)
JP (1) JP2013125436A (ja)
WO (1) WO2013088664A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018029782A1 (ja) * 2016-08-09 2018-02-15 オリンパス株式会社 演算処理装置、画像処理装置、および撮像装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9520865B2 (en) 2014-09-04 2016-12-13 Qualcomm Incorporated Delay circuits and related systems and methods
US9927862B2 (en) * 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
RU2623806C1 (ru) * 2016-06-07 2017-06-29 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Способ и устройство обработки стереоизображений
US20180082396A1 (en) * 2016-09-16 2018-03-22 Qualcomm Incorporated Dynamic camera pipelines
US10761559B2 (en) 2016-12-13 2020-09-01 Qualcomm Incorporated Clock gating enable generation
CN112462845B (zh) * 2020-11-25 2024-06-18 海光信息技术股份有限公司 数据传输时钟控制电路、方法和处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189990A (ja) * 1992-01-14 1993-07-30 Fujitsu Ltd データ保持装置
JPH07262002A (ja) * 1994-03-17 1995-10-13 Toshiba Corp 論理回路
JP2005078518A (ja) * 2003-09-02 2005-03-24 Renesas Technology Corp マイクロコントローラユニットおよびそのコンパイラ
JP2006345278A (ja) * 2005-06-09 2006-12-21 Fujifilm Holdings Corp 画像処理回路の消費電力低減方法及びその装置
JP2009187075A (ja) * 2008-02-04 2009-08-20 Japan Radio Co Ltd デジタル回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JP2006074337A (ja) * 2004-09-01 2006-03-16 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、及びこれらのプログラム
US7599439B2 (en) * 2005-06-24 2009-10-06 Silicon Image, Inc. Method and system for transmitting N-bit video data over a serial link
JP2008134926A (ja) 2006-11-29 2008-06-12 Yamaha Corp 同期化回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05189990A (ja) * 1992-01-14 1993-07-30 Fujitsu Ltd データ保持装置
JPH07262002A (ja) * 1994-03-17 1995-10-13 Toshiba Corp 論理回路
JP2005078518A (ja) * 2003-09-02 2005-03-24 Renesas Technology Corp マイクロコントローラユニットおよびそのコンパイラ
JP2006345278A (ja) * 2005-06-09 2006-12-21 Fujifilm Holdings Corp 画像処理回路の消費電力低減方法及びその装置
JP2009187075A (ja) * 2008-02-04 2009-08-20 Japan Radio Co Ltd デジタル回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018029782A1 (ja) * 2016-08-09 2018-02-15 オリンパス株式会社 演算処理装置、画像処理装置、および撮像装置

Also Published As

Publication number Publication date
US9443282B2 (en) 2016-09-13
WO2013088664A1 (ja) 2013-06-20
US20140347374A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
WO2013088664A1 (ja) 画像処理回路および半導体集積回路
CN101443818B (zh) 具有深度引擎的动态复位的图形系统
US9883137B2 (en) Updating regions for display based on video decoding mode
US9967500B2 (en) Systems and methods of selective output for reducing power
JP2011035655A (ja) フレームレート変換装置、およびそれを搭載した表示装置
JP2006287632A (ja) ノイズ低減装置およびノイズ低減方法
US8798386B2 (en) Method and system for processing image data on a per tile basis in an image sensor pipeline
US20080293449A1 (en) Method and system for partitioning a device into domains to optimize power consumption
US9123278B2 (en) Performing inline chroma downsampling with reduced power consumption
US6812927B1 (en) System and method for avoiding depth clears using a stencil buffer
US20210234543A1 (en) Information processing apparatus, control method thereof, and non-transitory computer-readable storage medium
JP2008181361A (ja) データ処理装置、画像処理装置、及びデータ処理プログラム
JP2007228156A (ja) 動き検出処理装置および方法
Chen et al. Real-time depth image based rendering hardware accelerator for advanced three dimensional television system
US9077606B2 (en) Data transmission device, data reception device, and data transmission method
JP4621944B2 (ja) 画像フィルタ装置、方法およびコンピュータプログラム
WO2007057507A3 (en) Buffer management in vector graphics hardware
US9412147B2 (en) Display pipe line buffer sharing
US10079004B2 (en) Display controller and display system including the same
US20220130219A1 (en) Motion detection system and method
TW201340711A (zh) 影像資料之無感知損失壓縮以縮減記憶體頻寬及儲存的技術
JP2012034198A (ja) フレーム補間装置
US20140002733A1 (en) Subframe level latency de-interlacing method and apparatus
US11941783B2 (en) Scaler de-ringing in image processing circuitry
US7460128B2 (en) Image drawing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140624

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141008

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20141023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151208