(57)【要約】【課題】  共通コンポーネントを有する信号を処理する方法を提供する。【解決手段】  信号処理は、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定し、第１入力信号及び第２入力信号のうち少なくとも一つから、第１コンポーネント、第１入力信号から、第２コンポーネント、及び第２入力信号から、第２コンポーネントを抽出する。第１入力信号の第２コンポーネントは、第２入力信号の第２コンポーネントと異なる。抽出された第２コンポーネントを利用して演算が行われる。第１コンポーネントは、演算の結果と結合される。【選択図】      図１
2016012350.tif 000002
【特許請求の範囲】
【請求項１】
第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する段階と、
前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネント、前記第１入力信号から第２コンポーネント、及び前記第２入力信号から第２コンポーネントを抽出する段階と、
前記抽出された第２コンポーネントを利用して演算を行う段階と、
前記第１コンポーネントを前記演算の結果と結合する段階と、を含み、
前記第１入力信号の前記第２コンポーネントは、前記第２入力信号の前記第２コンポーネントと互いに異なるものである信号処理の方法。
【請求項２】
前記決定する段階は、
前記第１入力信号または前記第２入力信号において、前記第１コンポーネント及び前記第２コンポーネントの境界を特定するマスクを生成する段階を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記抽出する段階は、
前記マスクを利用して、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネントを抽出する段階と、
前記マスクを利用して、前記第１入力信号から、前記第２コンポーネントを抽出する段階と、
前記マスクを利用して、前記第２入力信号から、前記第２コンポーネントを抽出する段階を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記演算を行う段階は、
前記抽出された第２コンポーネントに対する前記演算を行う複数の回路構成をイネーブルにする段階と、
前記第１入力信号の前記第１コンポーネント及び前記第２入力信号の前記第１コンポーネントに対する前記演算を行う複数の回路構成をディスエーブルにする段階を含むことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記演算を行う段階は、
前記第１入力信号の前記第２コンポーネントのみと前記第２入力信号の前記第２コンポーネントのみとを利用して、前記演算を行うことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項６】
前記演算は、補間を含むことを特徴とする請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記第１入力信号は、第１テクセルを含み、
前記第２入力信号は、第２テクセルを含むことを特徴とする請求項１乃至６のいずれか一項に記載の含む方法。
【請求項８】
前記第１コンポーネントは、
前記決定の複数の反復それぞれに対する可変幅を有することを特徴とする請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記第１コンポーネントは、
前記決定の複数の反復それぞれに対する固定幅を有することを特徴とする請求項１乃至７のいずれか一項に記載の方法。
【請求項１０】
前記第１入力信号は、サンプリングされた信号の第１サンプルであり、
前記第２入力信号は、前記サンプリングされた信号の第２サンプルであることを特徴とする請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する相関検出回路と、
前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネント、前記第１入力信号から第２コンポーネント、及び前記第２入力信号から、第２コンポーネントを抽出するコンポーネント処理回路と、
前記抽出された第２コンポーネントを利用して演算を行う演算回路と、
前記第１コンポーネントを前記演算の結果と結合する出力選択回路と、を含み、
前記第１入力信号の前記第２コンポーネントは、前記第２入力信号の前記第２コンポーネントと互いに異なるものであるシステム。
【請求項１２】
前記第１入力信号または前記第２入力信号において、前記第１コンポーネントと前記第２コンポーネントとの境界を特定するマスクを生成するマスク回路をさらに含み、
前記第１コンポーネントは、可変幅を有することを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記出力選択回路は、
前記マスクによって、前記第１コンポーネントを前記演算の結果と結合させる結合回路を含むことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記コンポーネント処理回路は、
前記マスクの反転されたバージョンを利用して、前記第１コンポーネントを抽出する共通コンポーネント抽出回路と、
前記マスクを利用して、前記第１入力信号から、前記第２コンポーネントを抽出し、前記第２入力信号から、前記第２コンポーネントを抽出する非共通コンポーネント抽出回路を含むことを特徴とする請求項１２又は１３に記載のシステム。
【請求項１５】
前記演算回路は、補間回路を含むことを特徴とする請求項１１乃至１４のいずれか一項に記載のシステム。
【請求項１６】
前記演算回路は、
前記抽出された第２コンポーネントに対して演算する複数の第１回路構成と、
前記第１コンポーネントに対して演算する複数の第２回路構成を含み、
前記第１入力信号及び前記第２入力信号に共通する前記第１コンポーネントを決定することに応答し、前記複数の第１回路構成は、イネーブルされ、前記複数の第２回路構成は、ディスエーブルされることを特徴とする請求項１１乃至１５のいずれか一項に記載のシステム。
【請求項１７】
前記第１コンポーネント及び前記第２コンポーネントは、
固定された幅を有することを特徴とする請求項１１乃至１６のいずれか一項に記載のシステム。
【請求項１８】
前記第１入力信号は、サンプリングされた信号の第１サンプルであり、前記第２入力信号は、前記サンプリングされた信号の第２サンプルであることを特徴とする請求項１１乃至１７のいずれか一項に記載のシステム。
【請求項１９】
前記システムは、プロセッサであることを特徴とする請求項１１乃至１８のいずれか一項に記載のシステム。
【請求項２０】
前記プロセッサは、ＧＰＵ（graphics  processing  unit）であり、
前記第１入力信号は、第１テクセルを含み、前記第２入力信号は、第２テクセルを含むことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に係り、特に、共通コンポーネントを有する信号に係わる動作の信号処理を行う間の電力消耗を減らす方法に関する。
【背景技術】
【０００２】
ＧＰＵ（graphics  processing  unit）、ＤＳＰ（digital  signal  processor）、ＣＰＵ（central  processing  unit）のようなプロセッサは、互いに異なる多様なコンテクストにおいて、互いに異なる多くの動作を遂行する。かような動作は、大体多くの電力消耗を必要とする。プロセッサの電力消耗は、与えられた信号処理タスクを完了するための時間を超え、かような動作が反復的に遂行されるという事実により、さらに好ましくない状況となる。例えば、グラフィックス・プロセッシングの場合、ビデオをレンダリングするとき、１つのイメージまたは一連のイメージに対するテクスチャフィルタ適用は、特に、電力を多く消費することとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、グラフィックス・パイプラインを遂行する方法及び装置を提供することにある。本発明の実施形態が解決しようとする技術的課題は上記のような技術的課題に限定されないし、以下の実施形態からまた他の技術的課題が類推できる。
【課題を解決するための手段】
【０００４】
本発明の一側面によれば、信号処理の方法は、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する段階、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから前記第１コンポーネント、前記第１入力信号から第２コンポーネント、及び前記第２入力信号から第２コンポーネントを抽出する段階、前記抽出された第２コンポーネントを利用して演算を遂行する段階、及び前記第１コンポーネントを前記演算結果と結合する段階を含み、前記第１入力信号の前記第２コンポーネントは前記第２入力信号の前記第２コンポーネントと互いに異なることでもある。
【０００５】
他の側面によれば、システムは、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する相関検出回路、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから前記第１コンポーネント、前記第１入力信号から第２コンポーネント、及び前記第２入力信号から第２コンポーネントを抽出するコンポーネント処理回路、前記抽出された第２コンポーネントを利用して演算を遂行する演算回路、及び前記第１コンポーネントを前記演算結果と結合する出力選択回路を含み、前記第１入力信号の前記第２コンポーネントは前記第２入力信号の前記第２コンポーネントと互いに異なることでもある。
【発明の効果】
【０００６】
本実施形態によれば、信号処理の間の電力消耗は、受信された信号での周波数不変性及び空間局所性（spatial  locality）を活用することによって節減される。入力信号の共通コンポーネントは、信号において、互いに異なる部分から識別されて区別される。違いがあると発見された入力信号の部分に対して演算し、共通コンポーネントの処理結果と合わせることにより、電力消耗が節減される。行われる多様な演算が、狭められたビット幅を有する入力信号に対して効果的に具現されることにより、消耗する電力を節減することができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態によるデータ処理システムのアーキテクチャを図示した図面である。
【図２】一実施形態による図１のシステムの具現例を図示した図面である。
【図３】一実施形態による図２のシステムの具現例を図示したブロック図である。
【図４】他の実施形態による図２のシステムの具現例を図示したブロック図である。
【図５】他の実施形態による図１のシステムの具現例を図示したブロック図である。
【図６】一実施形態による図５のシステムの具現例を図示したブロック図である。
【図７】一実施形態による図５及び／または図６の演算回路の具現例を図示した図面である。
【図８】一実施形態による信号を処理する方法の例示に係わる流れ図である。
【発明を実施するための形態】
【０００８】
本実施形態で使用される用語は、本実施形態での機能を考慮しながら、できる限り現在広く使用される一般的な用語を選択したが、それは、当業者の意図、判例、または新たな技術の出現などによって異なる。また、特定の場合、出願人が任意に選定した用語もあり、その場合、当該説明部分で詳細にその意味を記載する。従って、本実施形態で使用される用語は、単純な用語の名称ではない、その用語が有する意味と、本実施形態の全般にわたった内容とを基に定義されなければならない。
【０００９】
以下、添付された図面を参照しながら、ただ例示のための実施形態について詳細に説明する。下記実施形態は、権利範囲を制限したり限定したりするものではない。実施形態から当該技術分野の専門家が容易に類推することができるところは、実施形態の権利範囲に属するに解釈される。
【００１０】
図１は、一実施形態によるデータ処理システムのアーキテクチャを図示した図面である。アーキテクチャ１００は、本実施形態で説明される動作を遂行することができるプロセッサ及びメモリを含む互いに異なる多様なシステム及び／またはデバイスを実行するのに使用される。ある場合には、アーキテクチャ１００を使用して実行されるシステム及び／またはデバイスは、図１に図示された構成要素より少なかったり多かったりする構成要素が含まれている。さらに、含まれたオペレーティングシステム（ＯＳ）及び／またはアプリケーションも多様である。アーキテクチャ１００を使用するシステムは、埋め込み型システム、モバイル電話、デスクトップ、ラップトップ及び／またはタブレットコンピュータデバイスのような個人用コンピュータデバイス、サーバ、ゲームコンソール、エンターテイメントシステム、ディスプレイ・デバイスなどを含むが、それらに制限されるものではない。
【００１１】
図示されているように、アーキテクチャ１００は、少なくとも１つのプロセッサ１０２を含む。プロセッサ１０２は、例えば、ＣＰＵ（central  processing  unit）、ＤＳＰ（digital  signal  processor）、ＧＰＵ（graphics  processing  unit）、コントローラ、ＦＰＧＡ（field  programmable  gate  array）、またはその他プログラマブル集積回路などを含んでもよいが、それらに制限されるものではない。プロセッサ１０２は、回路網として具現され、信号処理を行うシステム１０５を含む。一側面によれば、システム１０５は、共通のコンポーネント及び信号で動作するように具現される。他の一側面によれば、システム１０５は、信号が共通のコンポーネントを含むと決定されるか否かということにより、互いに異なるプロセッシング技術を適用するように具現される。共通のコンポーネントを含む信号で動作する間、システム１０５は、一般的なプロセッサ及び／またはプロセッシング技術とは異なり、さらに少ない電力を使用して動作を遂行することができる。その結果、プロセッサ１０２は、少ない電力を使用することができ、アーキテクチャ１００及び／またはシステム１０５を使用しても、統合されたいかなるシステムを利用しても同様であろう。
【００１２】
プロセッサ１０２は、システムバス１１５、または他の適切な回路網を介してメモリ要素１１０に連結される。ローカルメモリ１４０は、ＲＡＭ（random  access  memory）、またはプログラムコードの実際の実行中、一般的に使用される他の非持続的メモリデバイスでもある。バルクストレージ・デバイス１２５は、ＨＤＤ（hard  disk  drive）、ＳＳＤ（solid  state  drive）または他の永久的データストレージデバイスに具現される。アーキテクチャ１００は、実行の間、プログラムコードがバルクストレージ・デバイス１２５から検索される回数を低減させるために、いくつかのプログラムコードの臨時的な保存を提供する一つ以上のキャッシュメモリ（図示せず）も含んでもよい。
【００１３】
キーボード１３０、ディスプレイ・デバイス１３５及びポインティング・デバイス１４０のような入出力（Ｉ／Ｏ：input/output）デバイスは、オプションとしてアーキテクチャ１００に連結される。ある場合に、一つ以上の出入力デバイスが、タッチスクリーンがディスプレイ・デバイス１３５に使用される場合のように、統合されることもある。その場合、ディスプレイ・デバイス１３５にはまた、キーボード１３０及びポインティング・デバイス１４０も具現される。
【００１４】
出入力デバイスは、アーキテクチャ１００に直接的に連結されたり、あるいは出入力コントローラの媒介を介して連結されたりする。また、一つ以上のネットワーク・アダプダ１４５も、アーキテクチャ１００に連結され、アーキテクチャ１００が、私設ネットワークまたは公共ネットワークを介して、他のシステム、コンピュータシステム、遠隔プリンタ及び／または遠隔ストレージデバイスへの連結が可能になる。モデム、ケーブルモデム、イーサネット（登録商標）カード、無線トランシーバ及び／または無線ラジオは、アーキテクチャ１００に使用されるネットワーク・アダプダ１４５の例示である。アーキテクチャ１００を利用して具現される装置によって、特定種類のネットワーク・アダプダ１４５または複数のネットワーク・アダプダは異なる。
【００１５】
図１に図示されているように、メモリ要素１１０は、オペレーティングシステム１５０、及びオプションとして１以上のアプリケーション１５５を保存することができる。一側面によれば、実行可能なプログラムコードの形態に具現されたオペレーティングシステム１５０及びアプリケーション１５５は、アーキテクチャ１００によって実行される。その場合、オペレーティングシステム１５０及びアプリケーション１５５は、アーキテクチャ１００の統合された部分として考慮される。アーキテクチャ１００により使用されたり生成されたりアーキテクチャ１００上で動作されたりするオペレーティングシステム１５０、アプリケーション１５５及び他のデータ項目は、アーキテクチャ１００を利用して具現されたシステムの一部として用いられるとき、機能を付与する関数型データ構造である。
【００１６】
ある場合に、アーキテクチャ１００は、単一の、大きいプログラムとして具現されているオペレーティングシステム１５０及びアプリケーション１５５で動作するソフトウェアを含んでもよい。例えば、アーキテクチャ１００が埋め込み型システムとして具現されて使用される場合、オペレーティングシステム１５０及びアプリケーション１５５を駆動して遂行される機能は、集積されたプログラムとして統合されて具現される。
【００１７】
図１において、アーキテクチャ１００は、説明の便宜のために図示されているだけである。他の実施形態において、アーキテクチャ１００は、ＣＰＵ及び別途のＧＰＵのようなプロセッサ１０２を含んでもよい。一般的に、ＧＰＵは、コンピュータグラフィックスの処理、イメージプロセッシングの遂行などのために最適化される。ある場合に、プロセッサ、例えばＣＰＵは、ＣＰＵによって一般的に行われる特定タスクを、処理のためにＧＰＵにオフロードしてもよい。他の実施形態において、ＧＰＵは、プロセッサ１０２と異なる別途の回路ボード上にも具現される。さらに、ＧＰＵは、プロセッサ１０２と異なる、別途のメモリ要素、例えば、別途のローカルメモリを有することができる。ＧＰＵは、プロセッサ１０２の代わりに、システム１０５を含んでもよい。さらに他の実施形態において、プロセッサ１０２及びＧＰＵは、いずれもシステム１０５を含んでもよい。
【００１８】
一側面によれば、システム１０５は、多様な算術演算を行うために最適化される。図示されているように、システム１０５は、多様なアプリケーションのうちあるものに適用される補間を行うために最適化される。アプリケーションの一例示において、システム１０５は、イメージプロセッシングのためのカラー値フィルタリングの状況において、補間を行うために使用される。例えば、システム１０５は、線形補間を行うために最適化される。システム１０５は、受信された入力信号において、一貫性を利用するよう具現される。イメージプロセッシングの場合、例えば、システム１０５は、受信された入力信号において、周波数コヒーレンス及び空間局所性のような周波数不変性を利用するために最適化される。空間局所性の例は、第１入力信号が第１テクセル（texel）を特定し、一方、第２入力信号は、イメージにおいて第１テクセルと所定距離ほど離れた他の第２テクセルを特定する場合である。第１テクセル及び２テクセルは、イメージ上で隣接する。本実施形態において、２つの信号間での共通のコンポーネントの存在は、２つの入力に対して発生する動作のために利用される周波数コヒーレンスを示す。
【００１９】
図２は、一実施形態による図１のシステム１０５の具現例を図示した図面である。前述のように、一実施形態によって、システム１０５は、プロセッサ内で回路網を利用して具現される。従って、図２に図示された多様なブロックは、プロセッサ内の回路または回路網を示す。図２の例において、システム１０５は、相関検出回路２０５、コンポーネント処理回路２１０、演算回路２１５及び出力選択回路２２０を含む。
【００２０】
相関検出回路２０５は、第１入力信号２２５の全部または一部を受信し、第２入力信号２３０の全部または一部を受信することができる。一側面によれば、相関検出回路２０５は、図２で点線で図示されているように、信号２２５及び／または信号２３０を直接に受信することができる。他の一側面によれば、相関検出回路２０５は、信号２３５を介して、コンポーネント処理回路２１０から、信号２２５及び／または信号２３０それぞれの全部または一部を受信することができる。
【００２１】
相関検出回路２０５は、信号２２５及び信号２３０が、信号２２５及び信号２３０に共通する一つ以上のコンポーネント（例えば、共通コンポーネント）を含むか否かということを判断する。一側面によれば、共通コンポーネントは、信号２２５及び２３０の「ｘ」個のＭＳＢ（most  significant  bits）でもある。ここで、ｘは、０より大きい整数である。ｘの値は、信号２２５及び２３０のビット数「ｎ」と同じであるか、あるいはそれよりも小さい。他の一側面によれば、共通コンポーネントは、信号２２５及び２３０の「ｘ」個のＬＳＢ（least  significant  bits）でもある。ｘの値、は信号２２５及び２３０のビット数「ｎ」と同じであるか、あるいはそれよりも小さい。さらに、ＭＳＢと評価されたビット数は、ＬＳＢと評価されたビット数と同じである必要はない。
【００２２】
本実施形態において、「第１コンポーネント」の用語は、入力信号のＬＳＢまたはＭＳＢのビット数を意味する。第１コンポーネントは、入力信号のビット数ｎと同じであるか、あるいはそれよりも小さいビット数でもある。第１コンポーネントは、信号２２５及び２３０に共通しても共通しなくともよい。図２の例において、相関検出回路２０５は、信号２２５及び２３０のただ特定部分のみ、例えば、信号２２５及び２３０のＭＳＢの特定個数及び／またはＬＳＢの特定個数だけを比較することができるために、共通コンポーネントは、固定されたサイズに制限されない。
【００２３】
相関検出回路２０５は、信号２２５及び２３０を比較し、信号２２５及び２３０の一部分または全部が一致するか否かを判断し、それにより、信号２２５及び２３０がコヒーレントかあるいは相関するかを示す。図示されているように、相関検出回路２０５は、信号２３５を介して、一致が存在するか否かを示す。信号２３５は、出力選択回路２２０に連結され、コンポーネント処理回路２１０に連結される。信号２３５は、信号２２５及び２３０が共通コンポーネントを共有するか否かを示すことができ、例えば、一致する少なくとも一部を有するか否かを示す。
【００２４】
相関検出回路２０５は、多様な既知の回路を利用して具現される。一側面によれば、例えば、相関検出回路２０５は、信号２２５及び２３０において、共通の低周波数成分、及び互いに異なる高周波数成分を識別する周波数分析回路として具現される。他の一側面によれば、相関検出回路２０５は、排他的論理和回路網（exclusive  ＯＲ  circuitry）及び論理和回路網（ＯＲ  circuitry）のようなブール論理ゲート、またはリーディング１（leading  １）検出回路を利用して具現される。
【００２５】
信号２２５及び２３０は、コンポーネント処理回路２１０に提供される。一般的に、コンポーネント処理回路２１０は、信号２２５及び２３０それぞれにおいて、第２コンポーネントから第１コンポーネントを抽出したり分離させたりすることができる。信号２２５及び２３０それぞれにおいて、第２コンポーネントは、それぞれの信号の残り、例えば、第１コンポーネントに含まれていない各信号の一部でもある。一側面によれば、コンポーネント処理回路２１０は、別途のチャネル内において、信号２２５及び２３０それぞれの第１コンポーネント及び第２コンポーネントを処理する。
【００２６】
コンポーネント処理回路２１０は、出力信号２４０及び２４５を生成することができる。一側面によれば、信号２４０は、信号２２５及び２３０それぞれの第１コンポーネント及び第２コンポーネントを特定する。一側面によれば、信号２４５は、信号２２５及び２３０が、コヒーレントであると発見された場合、信号２２５または信号２３０のうちいずれか１つの共通コンポーネントのみを特定することができる。図示されているように、信号２４５は、演算回路２１５をバイパスすることができる。
【００２７】
演算回路２１５は、多様な互いに異なる演算を行うことができる。例えば、演算回路２１５は、信号２２５及び２３０またはその一部を利用して、算術演算を行うことができる。一具体例によれば、演算回路２１５は、信号２２５及び２３０の補間を行うことができる。他の例によれば、演算回路２１５は、線形補間を行うことができる。しかし、それらに制限されるものではなく、加算、乗算のような他の演算も同様に行われる。
【００２８】
一例示によれば、演算回路２１５は、ＧＰＵ内で実行されるようなテクスチャフィルタリングを行うことができる。その場合、演算回路２１５は、信号２２５及び信号２３０の間で線形補間を行うことができる。信号２２５は、第１テクセルを特定し、一方、信号２３０は、第１テクセルと隣接した第２テクセルを特定することができる。例えば、第１テクセル及び２テクセルは、イメージ内で隣接するか、あるいは測定された少なくとも所定距離内にもある。一般的に、テクスチャフィルタリングにおいて、４０パーセントほどの場合、信号２２５及び２３０は同一である。そして、７０パーセントほどの場合、信号２２５及び２３０の４個のＭＳＢは一致する。そのように、電力消耗は、信号２２５及び２３０において、互いに異なる部分、例えば、非共通コンポーネントについてのみ演算するように、演算回路２１５を制限することによって低減される。
【００２９】
他の例示によれば、演算回路２１５は、出力値を生成するために、加重値を利用して、２以上のカラー値を線形的に結合することができる。出力値は、２つの入力値間に置かれたカラー値でもある。信号２２５及び２３０によって特定された入力値が、Ｉ１及びＩ２であり、与えられた線形加重値がａ１及びａ２（ここで、ａ１＋ａ２＝１）である場合、出力値Ｏ（例えば、フィルタリングされた値）の結果は、Ｏ＝ａ１＊Ｉ１＋ａ２＊Ｉ２のように表現される。ここで、Ｉ１＜＝Ｏ＜＝Ｉ２であり、０＜＝ａ１、ａ２＜＝１．０である。カラー値は、典型的に、０から２５５の間の範囲であり、フィルタリング単位において、少なくとも８ビットの入力精度を要求する。もし加重値が８ビットの精度を要求するならば、８ｘ８の乗算が使用される。
【００３０】
一側面によれば、演算回路２１５は、互いに異なる２つのチャネルを含んでもよい。第１チャネルは、信号２２０及び２２５のｘ個のＭＳＢ、例えば、信号２２５及び２３０の第１コンポーネントに対して演算することができる。第２チャネルは、信号２２５及び２３０の残り、例えば、第２コンポーネントに対して演算することができる。演算回路２１５は、出力信号２５０を生成することができる。一側面によれば、信号２２５及び２３０がコヒーレントである場合、信号２５０は、信号２２５及び２３０の非共通コンポーネントのみを利用して生成された、演算回路２１５によって行われた演算の結果を特定することがある。共通コンポーネントは、演算回路２１５によって使用されない。信号２２５及び２３０がコヒーレントでない場合、信号２５０は、信号２２５及び２３０の全体に対して演算した結果、例えば、信号２２５及び２３０それぞれの第１コンポーネント及び第２コンポーネントを処理した結果を特定することができる。
【００３１】
信号２５０は、信号２３５及び２４５に合わせられるかあるいは同期化される。出力選択回路２２０は、信号２２５及び２３０が、共通コンポーネントを共有しないか、あるいはコヒーレントでない場合、信号２５０全体を信号２５５として出力することができる。他の側面によれば、出力選択回路２２０は、信号２２５及び２３０の第１コンポーネント及び第２コンポーネントが互いに一致する場合、信号２４５全体を信号２５５として出力することができる。他の側面によれば、出力選択回路２２０は、信号２２５及び２３０が共通コンポーネントを共有するが、完璧に一致しない場合には、信号２５０の少なくとも一部と結合された信号２４５を、信号２５５として出力することができる。信号２４５と信号２５０との一部を結合することは、信号２４５によって特定された共通コンポーネントを、信号２５０によって特定された信号２２５及び２３０の非共通コンポーネントに対してのみ演算した結果の少なくとも一部と結びつけることを意味する。
【００３２】
図２は、システム１０５の例示的な具現において、信号２２５及び２３０の第１コンポーネント及び第２コンポーネントの描写または境界は、固定されているように図示されているが、それに制限されるものではない。他の場合において、第１コンポーネント及び第２コンポーネントの境界は固定されず、それについては、以下でさらに詳細に説明する。
【００３３】
図３は、一実施形態による図２のシステムの具現例を図示したブロック図である。図３は信号がコヒーレントであるか否かを判断するために、信号２２５及び２３０のｘ個のＭＳＢのみを評価するシステムの例を図示する。図示されているように、システム１０５は、相関検出回路２０５、コンポーネント処理回路２１０、演算回路２１５及び出力選択回路２２０を含む。説明の便宜のために、図３の多様な回路構成のクロック信号は図示されていない。説明の便宜のために、信号２２５及び２３０のビット幅はｎであり、ｎ及びｍは、０より大きい整数であり、ｎ＞ｍである。
【００３４】
コンポーネント処理回路２１０は、レジスタ３０２，３０４，３０６及び３０８を含む。レジスタ３０２は、信号２２５の第１コンポーネントまたはｘ個のＭＳＢを受信する。図３の例において、信号２２５の第１コンポーネントは、２２５［ｎ−１：ｍ］のように表現される。一具体例において、ｎは８であり、ｍは４でもある。しかし、それは、説明の便宜のためであるのみ、それに制限されるものではない。レジスタ３０４は、２２５［ｍ−１：０］で表現された信号２２５の第２コンポーネント（または、残り）を受信する。レジスタ３０６は、２３０［ｎ−１：ｍ］で表現された信号２３０の第１コンポーネントを受信する。レジスタ３０８は、２３０［ｍ−１：０］で表現された信号２３０の第２コンポーネントを受信する。レジスタ３０２，３０４，３０６及び３０８は、それぞれのレジスタによって受信された信号のクロック調整されたあるいは遅延されたバージョンを有効に出力する。
【００３５】
レジスタ３０２及び３０６からの信号３６０及び３６２それぞれは、排他的論理和回路３１０の入力として提供される。図示されているように、信号３６０及び３６２それぞれは、「ｎ−ｍ」ビット幅である。排他的論理和回路３１０は、論理和回路３１４の入力として提供される出力信号３１２を生成する。信号３６０及び信号３６２が一致する場合、信号３１２の各ビットは０である。信号３６０が信号３６２と一致しない場合、信号３１２の少なくとも１つのビットは、０ではない。論理和回路３１４は、１ビットの出力信号３１５を生成する。信号３６０が信号３６２と一致しないと判断した排他的論理和回路３１０に対して応答し、信号３１５は、１値を有する。信号３１５が１値を有するとき、信号２２５及び２３０は、コヒーレントではない。信号３６０が信号３６２と一致すると判断した排他的論理和回路３１０に応答し、信号３１５は、０（ゼロ）値を有する。信号３１５が０値を有するとき、信号２２５及び２３０は、共通コンポーネントを有すると見なされる。
【００３６】
インバータ３１６は、信号３１５を受信し、信号３１８を生成する。信号３１８は、信号３１５の反転されたバージョンである。信号３１５は、レジスタ３２０に提供される。レジスタ３２０は、マルチプレクサ３４２の選択信号として提供される信号３２２を出力する。信号３１５及び３１８は、さらに、図３に図示された一つ以上のブロックに対するクロックイネーブル信号として使用される。図示されているように、信号３１５及び３１８は、コンポーネント処理回路２１０のクロックイネーブル信号として提供される。
【００３７】
コンポーネント処理回路２１０はまた、複数のレジスタ３２４，３２６，３２８，３３０及び３３２を含んでもよい。レジスタ３２４及び３２６それぞれは、入力信号として信号３６０を受信する。レジスタ３２４は、さらに、クロックイネーブル信号として信号３１８を受信する。レジスタ３２６は、クロックイネーブル信号として信号３１５を受信する。レジスタ３２８は、入力として、レジスタ３０４から信号３６４を受信する。レジスタ３３０は、入力として信号３６２を受信し、クロックイネーブル信号として信号３１５を受信する。レジスタ３３２は、入力として、レジスタ３０８から信号３６６を受信する。レジスタ３２４，３２６，３２８，３３０及び３３２は、それぞれのレジスタによって受信された信号の、クロック調整されあるいは遅延されたバージョンを有効に出力する。演算回路２１５内の上位ツリー３３４も、クロックイネーブル信号として信号３１５を受信する。
【００３８】
レジスタ３２４及び３２６は、それぞれ信号３６８及び３７０を出力する。２つの信号３６８及び３７０は、２２５［ｎ−１：ｍ］の遅延されたバージョンを特定する。しかし、２つの信号３６８及び３７０は、互いに異なる状況で出力される。信号３１８は、信号３１５の反転されたバージョンであるために、レジスタ３２４がイネーブルされて信号３６８を出力した場合、レジスタ３２６は、ディスエーブルされる。ディスエーブルされ、あるいは活性化されていない場合、レジスタ３２６は、遷移しないように、信号３７０を出力しない。同様に、レジスタ３２６がイネーブルされて信号３７０を出力した場合、レジスタ３２４は、ディスエーブルされる。ディスエーブルされる間、レジスタ３２４は、遷移しないが如く、信号３６８を出力しない。レジスタ３２８は、信号３７２（例えば、２２５［ｍ−１：０］の遅延されたバージョン）を出力する。レジスタ３３０は、信号３７４（例えば、２３０［ｎ−１：ｍ］の遅延されたバージョン）を出力する。図示されているように、レジスタ３３０は、レジスタ３２６のイネーブルと同時に、１値を有する信号３１５に応答してイネーブルされ、信号３７４を出力する。レジスタ３３２は、信号３７６（例えば、２２５［ｍ−１：０］の遅延されたバージョン）を出力する。
【００３９】
演算回路２１５は、レジスタ３２６，３２８，３３０及び３３２から、信号３７０，３７２，３７４及び３７６をそれぞれ受信する。図３の例において、演算回路２１５は、補間器として具現される。図示されているように、演算回路２１５は、上位ツリー３３４、下位ツリー３３６及びキャリー選択加算器回路３３８を含む。一側面によれば、上位ツリー３３４及び下位ツリー３３６は、乗算器回路として具現される。上位ツリー３３４は、信号３７０及び３７４を受信する。信号３７０及び３７４それぞれは、第１コンポーネントを特定する。下位ツリー３３６は、信号３７２及び３７６を受信する。信号３７２及び３７６は、第２コンポーネントを特定する。
【００４０】
ビット［ｐ−１：０］を特定する加重値信号３４８は、レジスタ３５０に提供される。ｐは整数でもある。信号３８０及び３８２の幅（例えば、ｐ）は、ｎのようである。レジスタ３５０は、レジスタ３５２及び３５４それぞれに、信号３７８を出力する。レジスタ３５２は、信号３８０を出力し、レジスタ３５４は、信号３８２を出力する。信号３８０及び３８２は、信号３４８の遅延されたバージョンでもある。上位ツリー３３４は、レジスタ３５２から信号３８０を受信する。下位ツリー３３６は、レジスタ３５４から信号３８２を受信する。図示されているように、レジスタ３５２はまた、クロックイネーブル信号として信号３１５を受信する。従って、レジスタ３５２は、レジスタ３２４及び３３０と同一条件下で、信号３８０を出力することができる。一側面によれば、上位ツリー３３４回路または下位ツリー３３６回路のうちいずれか一つは、信号３８０または信号３８２によって特定されたファクタ値を受信することができ、一方、場合によっては、他の一つは、１−（信号３８０の値）、または１−（信号３８２の値）のファクタ値を計算することができる。
【００４１】
一側面によれば、信号２２５及び２３０がｎビットであり、ｎ＝８、ｍ＝４である場合、上位ツリー３３４及び下位ツリー３３６それぞれは、４ｘ８ツリー構造でもある。その例示において、キャリー選択加算器回路３３８は、１６ビットキャリー選択加算器回路として具現される。上位ツリー３３４及び下位ツリー３３６それぞれが活性化された場合、上位ツリー３３４及び下位ツリー３３６それぞれは、キャリー選択加算器回路３３８に提供される１２ビット信号を出力することができる。キャリー選択加算器回路３３８は、例えば、受信された信号を加算し、１６ビット信号（すなわち、信号３４０）を出力選択回路２２０に出力することができる。さらに詳細には、図３の例において、信号３４０は、マルチプレクサ３４２の入力として提供される。図示されているように、下位ツリー３３６は、出力選択回路２２０に信号３４１を出力することができる。
【００４２】
出力選択回路２２０は、レジスタ３４４及びマルチプレクサ３４２を含む。レジスタ３４４は、下位ツリー３３６からの出力、及びレジスタ３２４から２２５［ｎ−１：ｍ］を特定する信号３６８を結合するか、あるいは結びつける。下位ツリー３３６からの出力、及び信号３６８が結びつけられた信号３４６は、レジスタ３４４から出力され、マルチプレクサ３４２の他の入力として提供される。マルチプレクサ３４２は、マルチプレクサ３４２の制御信号または選択信号として提供される信号３２２に応答し、信号３４６または信号３４０を入力されて信号２５５を出力する。
【００４３】
第１動作状態で、信号２２５及び２３０は、コヒーレントではない。信号２２５及び２３０の第１コンポーネントは、一致しない。従って、レジスタ３２６及び３３０は、信号３１５によってイネーブルされるが、一方、レジスタ３２４は、信号３１８によってディスエーブルされる。前述のように、信号３１５及び３１８は、クロックイネーブル信号として使用される。レジスタ３２４は、遷移せず、信号３６０を通過させない。レジスタ３２６及び３３０は、信号３７０及び３７４をそれぞれ通過させる。レジスタ３５２は、信号３８０を通過させる。上位ツリー３３４は、例えば、信号３１５によってイネーブルされ、信号３８０によって特定された加重値を利用して、信号３７０及び３７４によって特定された第１コンポーネントを処理する。下位ツリー３３６は、信号３７２及び３７６によって特定された第２コンポーネントを処理する。キャリー選択加算器回路３３８は、信号３４０を出力する。マルチプレクサ３４２は、信号３２２に応答し、信号３４０を入力されて信号２５５を出力する。
【００４４】
第２の他の動作状態において、信号２２５及び２３０は、コヒーレントである。信号２２５及び２３０の第１コンポーネントは、一致する。従って、レジスタ３２６，３３０及び３５２は、信号３１５によってディスエーブルされるが、一方、レジスタ３２４は、信号３１８によってイネーブルされる。レジスタ３２６及び３３０は、遷移せず、信号３７０及び３７４をそれぞれ出力しない。レジスタ３５２は、遷移しない。イネーブルされたレジスタ３２４は、信号３６８を出力する。上位ツリー３３４は、信号３１５によって非活性化となり、それによって、電力が節約される。ただし、下位ツリー３３６は、信号３６８と結びつけられた結果（例えば、共通コンポーネント）と、非共通コンポーネントとを処理するために活性化される。マルチプレクサ３４２は、信号３２２に応答し、信号３４６を入力されて信号２５５を出力する。
【００４５】
図３の例において、共通コンポーネントは、信号２２５から抽出される。しかし、それらに制限されるものではなく、レジスタ３４４に提供された共通コンポーネントは、信号２３０から抽出されてもよい。共通コンポーネントは、信号２２５または信号２３０から抽出される。
【００４６】
図４は、他の実施形態による図２のシステム１０５の具現例を図示したブロック図である。図４は、信号にコヒーレントであるか否かということを判断するために、信号２２５及び２３０の第１コンポーネント及び第２コンポーネントをいずれも評価するシステムに係わる例を図示する。第１コンポーネント及び第２コンポーネントの境界は、図３でのように、固定される。図示されているように、システム１０５は、相関検出回路２０５、コンポーネント処理回路２１０、演算回路２１５及び出力選択回路２２０を含む。説明の便宜のために、図４の多様な回路構成のためのクロック信号は、図示されていない。
【００４７】
コンポーネント処理回路２１０は、レジスタ４０２，４０４，４０６及び４０８を含む。レジスタ４０２は、２２５［ｎ−１：ｍ］で表現された信号２２５の第１コンポーネントを受信する。信号２２５及び２３０のビット幅はｎであり、ｎ及びｍは、０より大きい整数であり、ｎ＞ｍである。第１コンポーネントのビット幅は、図示されているように、ｎ−ｍである。一具体例において、ｎは８であり、ｍは４でもある。しかし、それは、説明の便宜のためであるのみ、それに制限されるものではない。さらに、図３及び／または図４を参考すれば、第１コンポーネントの幅は、第２コンポーネントの幅と同じである必要はない。レジスタ４０４は、２３０［ｎ−１：ｍ］で表現された信号２３０の第１コンポーネントを受信する。レジスタ４０６は、２２５［ｍ−１：０］で表現された信号２２５の第２コンポーネント（または、残り）を受信する。レジスタ４０８は、２３０［ｍ−１：０］で表現された信号２３０の第２コンポーネントを受信する。レジスタ４０２，４０４，４０６及び４０８は、それぞれのレジスタによって受信された信号のクロック化されたり、あるいは遅延されたりしたバージョンを有効に出力する。
【００４８】
レジスタ４０２及び４０４からの信号４１０及び４１２は、相関検出回路２０５の入力としてそれぞれ提供される。相関検出回路２０５は、排他的論理和回路４１４及び論理和（ＯＲ）回路４１８を含んでもよい。例えば、信号４１０及び４１２は、排他的論理和回路４１４の入力として提供される。図示されているように、信号４１０及び４１２それぞれは、「ｎ−ｍ」ビット幅である。排他的論理和回路４１４は、論理和回路４１８の入力として提供される出力信号４１６を生成する。信号４１６の各ビットは、信号４１０が信号４１２と一致する場合、０である。信号４１０が信号４１２と一致しない場合、信号４１６の少なくとも１ビットは、０ではない。論理和回路４１８は、１ビット出力信号４２０を生成する。信号４２０は、信号４１０と信号４１２とが一致しないと判断した排他的論理和回路４１４に応答し、１値を有する。信号４２０が１値を有する場合、信号４１０及び４１２は、一致しない。信号４２０は、信号４１０と信号４１２とが一致すると判断した排他的論理和回路４１４に応答し、０値を有する。信号４２０が０値を有する場合、信号４１０及び４１２は、第１コンポーネントが一致し、少なくとも部分的にコヒーレントであると見なされる。
【００４９】
レジスタ４０６及び４０８からの信号４２２及び４２４は、相関検出回路２０５の入力としてそれぞれ提供される。相関検出回路２０５は、排他的論理和回路４２６及び論理和（ＯＲ）回路４３０を含んでもよい。例えば、信号４２２及び４２４は、排他的論理和回路４２６の入力として提供される。図示されているように、信号４２２及び４２４それぞれは、「ｍ」ビット幅である。排他的論理和回路４２６は、論理和回路４３０の入力として提供される出力信号４２８を生成する。信号４２８の各ビットは、信号４２２が信号４２４と一致する場合、０である。信号４２２が信号４２４と一致しない場合、信号４２８の少なくとも１ビットは、０ではない。論理和回路４３０は、１ビット出力信号４３２を生成する。信号４３２は、信号４２２と信号４２４が一致しないと判断した排他的論理和回路４２６に応答し、１値を有する。信号４３２が１値を有する場合、信号４２２及び４２４は、一致しない。信号４３２は、信号４２２と信号４２４とが一致すると判断した排他的論理和回路４２６に応答し、０値を有する。信号４３２が０値を有する場合、信号４２２及び４２４は、第２コンポーネントが一致し、少なくとも部分的にコヒーレントであると見なされる。
【００５０】
一実施形態によれば、出力選択回路２２０を含む他の回路から、信号（例えば、信号４１０，４１２，４２２及び／または４２４）を伝送するのに使用される多様なワイヤは、コンポーネント処理回路２１０の一部と見なされる。
【００５１】
一側面によれば、信号４２０及び信号４３２は、クロックイネーブル信号として使用される。図示されているように、信号４２０及び信号４３２は、演算回路２１５に提供される。具体的には、信号４２０は、ＬＥＲＰ（linear  interpolation）回路４３４に、クロックイネーブル信号として提供される。信号４３２は、ＬＥＲＰ回路４３６にクロックイネーブル信号として提供される。
【００５２】
ＬＥＲＰ回路４３４は、信号４１０及び４１２を入力信号として受信する。さらに、ＬＥＲＰ回路４３４は、「ｐ」ビットの（ｐは整数）マルチビット信号でもある信号４３８を受信する。ｐの値は０ではない。一側面によれば、信号４３８の値は、図示されているように、ＬＥＲＰ回路４３４及び４３６それぞれに提供される加重因子でもある。例えば、いずれか１つのＬＥＲＰ回路は、信号４３８の値を使用することができるが、一方、他のＬＥＲＰ回路は、１−（信号４３８の値））の値を使用する。ＬＥＲＰ回路４３４は、出力信号４４０を生成する。ＬＥＲＰ回路４３６は、出力信号４４２を生成する。
【００５３】
出力選択回路２２０は、レジスタ４４４，４４６，４４８、キャリー選択加算器回路４５０及びマルチプレクサ４５２を含んでもよい。出力選択回路２２０は、実施形態で説明されるように、多様な信号を結合する。例えば、レジスタ４４４は、信号４１０及び４２２を信号４５４に結びつける。レジスタ４４６は、信号４４０及び４２２を信号４５６に結びつける。レジスタ４４８は、信号４１０及び４４２を信号４５８に結びつける。キャリー選択加算器回路４５０は、信号４４０及び４４２を加算したり結合したりし、信号４６０として出力することができる。
【００５４】
信号４２０及び４３２は、総括的に見るとき、信号４６２と見なされる。信号４６２（例えば、２ビット信号）は、マルチプレクサ４５２に選択信号として提供される。マルチプレクサ４５２は、制御信号４６２によって、信号４５４，４５６，４５８または４６０を入力され、信号２５５を出力する。
【００５５】
以下の表１は、図４に図示されたシステム１０５の具現例の動作について説明する。説明されているように、ＬＥＲＰ回路４３４及び４３６は、いずれもただケース４において、イネーブルされる必要がある。ケース１ないしケース３において、ＬＥＲＰ回路４３４または４３６の少なくとも一つは、ディスエーブルされ、それにより、システムによって消耗される電力は節減される。ケース３において、ＬＥＲＰ回路４３４及び４３６は、いずれもディスエーブルされる。一般的に、信号２２５及び２３０の第１コンポーネント及び第２コンポーネントをいずれも評価することにより、ある状況において、演算回路２１５の２つのチャネルがディスエーブルされる図３の例を超え、さらなる電力節減が達成される。さらに、演算回路２１５の少なくとも１つのチャネルがディスエーブルされるケースの個数は、図３の例と比較して増加する。
【００５６】
【表１】
2016012350.tif 000003
図５は、他の実施形態による図１のシステム１０５の具現例を図示したブロック図である。説明されているように、システム１０５は、プロセッサ内の回路網を利用して具現される。従って、図５に説明された多様なブロックは、プロセッサ内の回路または回路網を示す。図５に図示されている例において、システム１０５は、相関検出回路５０５、マスト回路５１０、コンポーネント処理回路５１５、演算回路５２０及び出力選択回路５２５を含む。
【００５７】
相関検出回路５０５は、第１入力信号５３０及び第２入力信号５３５を受信する。相関検出回路５０５は、信号５３０及び信号５３５が、信号５３０及び信号５３５にいずれも共通する第１コンポーネントを含んでいるか否かということを判断する。一側面によれば、第１コンポーネントは、信号５３０及び５３５の「ｘ」個のＭＳＢである。ここで、「ｘ」は、０より大きいか、あるいはそれと同じ整数である。図５の例において、第１コンポーネントは、ビット数については、可変幅を有することができる。信号５３０及び５３５は、一致するＭＳＢの特定個数を判断するために比較される。図示されているように、相関検出回路５０５は、出力信号５４０を生成する。信号５４０は、マスク回路５１０に提供される。信号５４０は、信号５３０及び５３５がコヒーレントであるか否かということ、例えば、共通の第１コンポーネントを有するか否かということを示す。信号５３０及び５３５がコヒーレントであるならば、信号５４０は、一致するビットの個数、または共通の第１コンポーネントのビットサイズを示す。
【００５８】
相関検出回路５０５は、多様な既知の回路を利用して具現される。一側面によれば、例えば、相関検出回路５０５は、信号５３０及び５３５の共通の低い周波数成分、及び互いに異なる高い周波数成分を識別する周波数分析回路として具現される。他の一側面によれば、相関検出回路５０５は、排他的論理和回路網及び／または論理和回路網のようなブール論理ゲートを利用して具現される。
【００５９】
マスク回路５１０は、コンポーネント処理回路５１５、演算回路５２０及び出力選択回路５２５に出力される信号５４５によって特定されたマスクを生成する。コンポーネント処理回路５１５は、信号５３０または信号５３５のうち少なくとも一つから、第１コンポーネントを抽出することができる。さらに、コンポーネント処理回路５１５は、信号５３０及び５３５のそれぞれから、第２コンポーネントを抽出することができる。一側面によれば、コンポーネント処理回路５１５は、マスク回路５１０によって生成されたマスクを適用することにより、多様なコンポーネントを抽出する。信号５３０及び５３５からの、１コンポーネントが共通するのに比べ、信号５３０の第２コンポーネントは、信号５３５の第２コンポーネントと異なる。説明されているように、図５の例において、第１コンポーネント（及び第２コンポーネント）の幅は、システム１０５の反復によって異なる。例えば、共通コンポーネントは、第１反復において、１ビットであり、第２反復において、５ビットであり、第３反復において、５ビットであり、第４反復において、０ビットでもある。第２コンポーネントは、各反復において、信号の残りビットとして形成される。ある場合、例えば、第２コンポーネントが０ビットである場合、信号５３０及び５３５の全体が一致すると見い出される。
【００６０】
コンポーネント処理回路５１５は、信号５５０によって特定された第１コンポーネント及び第２コンポーネントを出力する。信号５３０及び５３５がコヒーレントでない場合、第１コンポーネントは、０ビットの幅であり、一方、信号５３０の第２コンポーネントは、信号５３０全体に該当し、信号５３５の第２コンポーネントは、信号５３５全体に該当する。コンポーネント処理回路５１５は、出力選択回路５２５に提供される信号５５５上に、第１コンポーネントを出力する。図示されているように、信号５５５は、演算回路５２０をバイパスすることができる。
【００６１】
演算回路５２０は、一つ以上の選択された演算を行う。演算回路５２０は、出力選択回路５２５に提供される出力として信号５６０を生成する。一側面によれば、演算回路５２０は、内部に具現されている、選択された回路構成を、選択的にイネーブル及び／またはディスエーブルにするために、信号５４５によって特定されたマスクを使用する。例えば、マスクが、共通の第１コンポーネントの特定ビットを示すために、信号５３０及び５３５がコヒーレントである場合、マスクのビットは、第１コンポーネントに対する演算を行う演算回路５２０の回路構成を非活性化するか、あるいはディスエーブルにするのに使用される。同様に、演算回路５２０は、第２コンポーネントまたは非共通コンポーネントに対して演算する演算回路５２０の回路構成を、イネーブルまたは活性化するために、マスクを使用することができる。
【００６２】
出力選択回路５２５は、信号５５５を信号５６０と結合することができる。例えば、出力選択回路５２５は、信号５５５を信号５６０と結びつける。一側面によれば、出力選択回路５２５は、信号５６０と結合して通過する信号５５５の一部を判断するために、信号５４５によって特定されたマスクを使用することができる。例えば、信号５３０及び５３５がコヒーレントでない場合、マスクは、出力選択回路５２５が、信号５６０全体をそのまま信号５６５に出力するということを示す。信号５３０及び５３５がコヒーレントである場合、マスクは出力選択回路５２５が、信号５６０の特定個数のビットを、信号５５５によって特定された第１コンポーネントと結びつけ、その結果として、信号５６５を提供するという点を示す。
【００６３】
図６は、一実施形態による図５のシステム１０５の具現例を図示したブロック図である。図示されているように、システム１０５は、相関検出回路５０５、マスク回路５１０、コンポーネント処理回路５１５、演算回路５２０及び出力選択回路５２５を含む。
【００６４】
図６の例において、相関検出回路５０５は、排他的論理和回路６０２を利用して具現される。信号５３０及び５３５は、比較される。相関検出回路５０５は、一致するか同一である信号５３０及び５３５の特定ビットを示す信号５４０を生成する。例えば、信号５３０が８ビット二進符号化された信号［１１１１０１００］であり、信号５３５が、８ビット二進符号化された信号［１１１１０１１０］である場合を考慮する。信号５３０及び５３５に対して行われた排他的論理和演算の結果は、［００００００１０］であり、それは、信号５４０によって特定される。
【００６５】
マスク回路５１０は、リーディング１ビット検出回路６０４によって具現される。マスク回路５１０は、受信信号５４０に応答し、信号５４５によって特定されたマスクを生成する。一般的に、マスク回路５１０は、信号５４０のリーディング１ビットを検出し、その後のそれぞれのビットを１に変換する。前述の例において、信号５４５は、二進符号化されたマスク［００００００１１］を特定することができる。
【００６６】
コンポーネント処理回路５１５は、共通コンポーネント抽出回路６０６及び非共通コンポーネント抽出回路６０８を含んでもよい。図示されているように、コンポーネント処理回路５１５は、インバータ６１０をさらに含んでもよい。インバータ６１０は、共通コンポーネント抽出回路６０６に提供される、マスクの反転されたバージョン（例えば、信号５４５）を生成する。反転されていない信号５４５は、非共通コンポーネント抽出回路６０８に提供される。共通の第１コンポーネント抽出回路６０６は、信号５３０から、もしあるならば、共通コンポーネントを抽出する。非共通コンポーネント抽出回路６０８は、非共通（すなわち、第２）コンポーネントを、信号５３０及び５３５から抽出する。一側面によれば、実施形態において、コンポーネントに適用されて使用された「抽出」の用語は、第１コンポーネント、第２コンポーネント、共通コンポーネントであるか否かということとはかかわりなく、抽出されることによって求められたコンポーネントの一部ではない、信号のそれぞれのビットを０に設定すること（zeroing）を意味する。他の側面によれば、該抽出は、信号の第２コンポーネントから第１コンポーネントを分離させるということを意味する。
【００６７】
共通コンポーネント抽出回路６０６は、信号５３０と、信号５４５の反転されたバージョンとの論理積演算を行うＡＮＤ回路網によって具現される。例えば、信号５３０［１１１１０１００］と、信号５４５の反転されたバージョン［１１１１１１００］との論理的ＡＮＤは、二進符号化された値［１１１１０１００］である。その例において、第１共通コンポーネントは、［１１１１０１］である。最下位（least  significant）２ビットは、［００］であるように、信号５３０の残りは、０に設定される。共通コンポーネント抽出回路６０６によって判断された結果は、信号５５５に出力される。
【００６８】
非共通コンポーネント抽出回路６０８は、信号５３０及び５４５の論理的ＡＮＤ演算を行い、信号５３５及び５４５の論理的ＡＮＤ演算を行うＡＮＤ回路網によって具現される。例えば、信号５３０［１１１１０１００］及び信号５４５［００００００１１］の論理的ＡＮＤ演算の結果は、二進符号化された値［００００００００］である。その例において、共通コンポーネント［１１１１０１］は、０に設定され、信号５３０の残された最下位２ビットは、信号５３０の非共通の第２コンポーネントであり、［００］である。信号５３５［１１１１０１１０］及び信号５４５［００００００１１］の論理的ＡＮＤ演算の結果は、二進符号化されたコード［００００００１０］である。その例において、共通コンポーネント［１１１１０１］は、０に設定され、信号５３５の残された最下位２ビットは、信号５３５の非共通の第２コンポーネントであり、［１０］である。非共通コンポーネント抽出回路６０８によって判断された結果は、信号５５０に出力される。
【００６９】
演算回路５２０は、信号５５０を介して受信された非共通コンポーネントのみを利用して、一つ以上の演算を行うことができる。信号５３０及び５３５がコヒーレントでない場合、信号５３０及び５３５の全体は、信号５５０を介して、非共通コンポーネント抽出回路６０８から演算回路５２０に提供される。
【００７０】
図示されているように、信号５４５は、演算回路５２０に提供される。一側面によれば、信号５４５は、共通コンポーネントのビットを処理する回路構成を非活性化させるか、あるいはディスエーブルにするために、演算回路５２０によって使用される。例えば、２番目ビットないし７番目ビットの値が信号５３０及び５３５にいずれも共通するならば、信号５３０及び５３５において、２番目ビットないし７番目ビットに対して演算するための演算回路５２０内の回路構成は、ディスエーブルされる。共通ビットに対応する信号５４５のビットは、０であり、コンポーネントをディスエーブルにするために、コンポーネントにクロックイネーブル信号として使用される。信号５３０及び５３５がコヒーレントでない場合、信号５４５は、それぞれのビットが１を有し、演算回路５２０のいかなる回路構成も、ディスエーブルにしない。
【００７１】
出力選択回路５２５は、結合回路６１２を含む。図示されているように、結合回路６１２は、入力として信号５５５及び５６０を受信する。さらに、結合回路６１２は、選択信号として信号５４５を受信することができる。信号５４５は、信号５５５のいかほど多くのビットが信号５６０と結合されているかということを示す。例えば、信号５５５は、共通コンポーネントを特定する。マスクにおいて０である各ビットが共通コンポーネントのビットに対応すると見られるとき、信号５４５は、共通コンポーネント５５５のビット幅を示す。以前の例を参考すれば、共通コンポーネントは、６ビットである。従って、６ビットの信号５５５は、２ビットの信号５６０と結合される。信号５５５及び５６０が結合された出力結果は、出力選択回路５２５から信号５６５に出力される。
【００７２】
図６は、説明の便宜のために図示されているのみ、図６の例にのみ本実施形態が制限されるものではない。他の側面によれば、例えば、マスクは、第１コンポーネントを抽出するために使用され、一方、マスクの反転されたバージョンは、第２コンポーネントを抽出するために使用される。図６において、回路網によって行われる特定のロジック演算は多様に変わる。いかなる場合でも、マスクが直接に使用されるか、あるいは間接的に使用されるか（例えば、マスクの反転されたバージョンが信号に使用されるか、あるいは適用される場合）ということにより、マスクは、第１コンポーネント及び第２コンポーネントを抽出するために使用される。
【００７３】
図７は、一実施形態による、図５及び／または図６の演算回路５２０の具現例を図示した図面である。図７の例において、演算回路５２０は、補間回路である。説明の便宜のために、信号５３０及び５３５は、８ビット信号である。図示されているように、信号５３０は、ＡＮＤゲート７０２に提供される。８ビット入力信号を仮定すれば、８個のＡＮＤゲート７０２は、入力信号５２０及び加重値信号７１４を処理するのに使用される。信号５３５は、ＡＮＤゲート７０４に提供される。８個のＡＮＤゲート７０４は、インバータ７０６によって生成された信号７１４の反転されたバージョンを利用して信号５３５を処理するのに使用される。
【００７４】
各ＡＮＤゲート７０２及び各ＡＮＤゲート７０４からの出力は、ＯＲゲート７０８によって処理される。８個のＯＲゲート７０８が使用される。ＯＲゲート７０８は、それぞれの部分積項が、（ｎ＋１）ビット（例えば、９ビット）幅である、８個の部分積項を生成する。一方、ＡＮＤゲート７０２及びＡＮＤゲート７０４からの出力の配置は、ＯＲゲート７０８との連結が維持されるのであるならば、変わることになる。例えば、第１
ＡＮＤゲート７０４は、信号５３０の第１ビット（例えば、ＭＳＢ）を処理することができる。第１ ＡＮＤゲート７０４は、信号５３５の第１ビット（例えば、ＭＳＢ）を処理することができる。第２
ＡＮＤゲート７０２及び第２ ＡＮＤゲート７０４それぞれは、信号５３０及び５３５それぞれの次のビット（第２ビット、第３ビットなど）を処理する。従って、第１ ＯＲゲート７０８は、ＡＮＤゲート７０２の最初の出力、及びＡＮＤゲート７０４の最初の出力を処理することができる。第２
ＯＲゲート７０８は、ＡＮＤゲート７０２の２番目出力及びＡＮＤゲート７０４の２番目出力を処理することができ、以下、残りも同様に処理される。
【００７５】
ＡＮＤゲート７１０は、ＯＲゲート７０８からの出力、信号５３５、及びマスクを特定する信号５４５を受信する。ＡＮＤゲート７１０は、それぞれの部分積項が（ｎ＋１）ビット（例えば、９ビット）である、９個のマスキングされた部分積項を生成する。バイパスされる部分積加算器回路７１２の出力にただ影響を及ぼすビットは、信号５４５を利用してクリアされる。
【００７６】
一側面によれば、共通コンポーネントの各ビットの０値は、多様なＡＮＤゲート７１０に提供された信号５４５のマスクによって特定されたように、ＡＮＤゲートから０値を生成する結果を引き起こす。ＡＮＤゲート７１０の出力は、部分積加算器回路７１２に提供される。マスキングされた部分積項の加算結果は、信号５６０に出力される。
【００７７】
他の一側面によれば、信号５４５は、ＡＮＤゲート７１０それぞれのために、クロックイネーブル信号（例えば、クロック信号をゲートする信号（図示せず））として使用される。例えば、各ＡＮＤゲート７１０は、信号５４５の当該ビットをクロックイネーブル信号として受信することができる。信号５４５の０ビットを受信するＡＮＤゲート７１０は、ディスエーブルされる。すなわち、クロック信号は、ゲートされる。
【００７８】
図８は、一実施形態による信号を処理する方法８００の例示に係わるフローチャートである。方法８００は、図１、図２及び／または図５で説明されたシステムで遂行されるものである。方法８００は、第１入力信号及び第２入力信号が受信された状態で始まる。一側面によれば、第１信号は、第１テクセルを特定することができ、一方、第２入力信号は、イメージにおいて、第１テクセルと離れた他の第２テクセルを特定することができる。例えば、第１テクセル及び第２テクセルは、処理されるイメージにおいて、互いに隣接する。他の側面によれば、第１入力信号は、サンプリングされた信号の第１サンプルを示すことができ、一方、第２入力信号は、同一のサンプリングされた信号において、次の第２サンプルを示す。
【００７９】
８０５段階において、システムは、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する。一側面によれば、第１コンポーネントは、システムの複数の反復を経て固定された個数のビットに該当する。他の一側面によれば、第１コンポーネントは、システムの複数の反復を経ながらビットの個数が異なる。
【００８０】
８１０段階において、システムは、第１入力信号及び第２入力信号に共通する第１コンポーネントを抽出する。さらに、システムは、第１入力信号及び第２入力信号それぞれから、第２コンポーネントを抽出することができる。第１入力信号の第２コンポーネントは、第２入力信号の第２コンポーネントと異なる。
【００８１】
一側面によれば、第１コンポーネント及び第２コンポーネントは、マスクを利用して抽出される。マスクは、共通コンポーネントのＭＳＢの個数を示すことにより生成される。他の一側面によれば、第１コンポーネント及び第２コンポーネントは、第１入力信号及び第２入力信号を、固定された幅のコンポーネントに単純に分割することによって抽出される。ここで、第１入力信号及び２入力信号のそれぞれのコンポーネントは、コンポーネント中の分離が維持されながら、内部のチャネルまたはワイヤを介して伝播される。
【００８２】
８１５段階において、システムは、一つ以上の演算を行う。例えば、演算回路は、入力信号に対する一つ以上の演算を行う。第１入力信号が第２入力信号とコヒーレントでない場合には、演算回路は、第１入力信号及び２入力信号全体を利用して、演算を行うことができる。８１５段階で説明したように、演算回路は、第１入力信号及び２入力信号のただ第２コンポーネントたけに対する演算を行うことができる。例えば、第１入力信号が第２入力信号とコヒーレントに維持される場合には、演算回路は、第１入力信号及び２入力信号のただ第２コンポーネントのみを利用して演算を行うことができる。その場合、入力信号の第１コンポーネントは、一致することによって見い出され、演算回路によって演算されない。
【００８３】
選択された演算の遂行にあたり、演算回路の一つ以上の回路構成は、処理される入力信号に応答し、リアルタイムでイネーブルされるかディスエーブルされる。一側面によれば、回路構成のディスエーブルは、ディスエーブルされた回路構成が遷移しないように、ディスエーブルされた回路構成に提供された入力信号が、遷移を防ぐことを意味する。他の一側面によれば、回路構成のディスエーブルは、クロックをゲート制御するか、回路構成をディスエーブルにするクロックイネーブル信号を回路構成に提供することを意味する。
【００８４】
８２０段階において、システムは、第１コンポーネントを８１５段階で遂行された演算結果と結合する。一例において、システムは、第１入力信号及び第２入力信号に共通することによって見い出された第１コンポーネントを８１５段階の演算結果と結びつける。
【００８５】
本実施形態によれば、信号処理間の電力消耗は、受信された信号での周波数不変性及び空間局所性を活用することによって節減される。入力信号の共通コンポーネントは、信号において、互いに異なる部分から識別されて区別される。差があると見い出された入力信号の部分に対して演算し、共通コンポーネントの処理結果と合わせることによって、電力消耗が節減される。行われる多様な演算が、低減されたビット幅を有する入力信号に対して効果的に具現されることによって、消耗する電力を節減することができる。
【００８６】
信号処理の方法は、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する段階、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネント、前記第１入力信号から第２コンポーネント、及び前記第２入力信号から第２コンポーネントを抽出する段階、前記抽出された第２コンポーネントを利用して演算を行う段階、及び前記第１コンポーネントを前記演算の結果と結合する段階を含み、前記第１入力信号の前記第２コンポーネントは、前記第２入力信号の前記第２コンポーネントと互いに異なるものである。
【００８７】
また、前記決定する段階は、前記第１入力信号または前記第２入力信号において、前記第１コンポーネント及び前記第２コンポーネントの境界を特定するマスクを生成する段階を含む。
【００８８】
また、前記抽出する段階は、前記マスクを利用して、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネントを抽出する段階、前記マスクを利用して、前記第１入力信号から前記第２コンポーネントを抽出する段階、及び前記マスクを利用して、前記第２入力信号から前記第２コンポーネントを抽出する段階を含む。
【００８９】
また、前記演算を行う段階は、前記抽出された第２コンポーネントに対する前記演算を行う複数の回路要素をイネーブルにする段階、並びに前記第１入力信号の前記第１コンポーネント、及び前記第２入力信号の前記第１コンポーネントに対する前記演算を行う複数の回路構成をディスエーブルにする段階を含む。
【００９０】
また、前記演算を行う段階は、前記第１入力信号のただ前記第２コンポーネント、及び前記第２入力信号のただ前記第２コンポーネントのみを利用して前記演算を行う。
【００９１】
また、前記演算は、補間を含む。
【００９２】
また、前記第１入力信号は、第１テクセルを含み、前記第２入力信号は、第２テクセルを含む。
【００９３】
また、前記第１コンポーネントは、前記決定の複数の反復それぞれに対する、可変幅を有する。
【００９４】
また、前記第１コンポーネントは、前記決定の複数の反復それぞれに対する、固定幅を有する。
【００９５】
また、前記第１入力信号は、サンプリングされた信号の第１サンプルであり、前記第２入力信号は、前記サンプリングされた信号の第２サンプルでもある。
【００９６】
システムは、第１入力信号及び第２入力信号に共通する第１コンポーネントを決定する相関検出回路、前記第１入力信号及び前記第２入力信号のうち少なくとも一つから、前記第１コンポーネント、前記第１入力信号から、第２コンポーネント、及び前記第２入力信号から、第２コンポーネントを抽出するコンポーネント処理回路、前記抽出された第２コンポーネントを利用して演算を行う演算回路、及び前記第１コンポーネントを、前記演算の結果と結合する出力選択回路を含み、前記第１入力信号の前記第２コンポーネントは、前記第２入力信号の前記第２コンポーネントと互いに異なるものでもある。
【００９７】
また、システムは、前記第１入力信号または前記第２入力信号において、前記第１コンポーネント及び前記第２コンポーネントの境界を特定するマスクを生成するマスク回路をさらに含み、前記第１コンポーネントは、可変幅を有する。
【００９８】
また、前記出力選択回路は、前記マスクによって、前記第１コンポーネントを前記演算の結果と結合させる結合回路を含む。
【００９９】
また、前記コンポーネント処理回路は、前記マスクの反転されたバージョンを利用して、前記第１コンポーネントを抽出する共通コンポーネント抽出回路、及び前記マスクを利用して、前記第１入力信号から、前記第２コンポーネントを抽出し、前記第２入力信号から、前記第２コンポーネントを抽出する非共通コンポーネント抽出回路を含む。
【０１００】
また、前記演算回路は、補間回路を含む。
【０１０１】
また、前記演算回路は、前記抽出された第２コンポーネントに対して演算する複数の第１回路構成、及び前記第１コンポーネントに対して演算する複数の第２回路構成を含み、前記第１入力信号及び前記第２入力信号に共通する前記第１コンポーネントを決定することに応答し、前記複数の第１回路構成は、イネーブルされ、前記複数の第２回路構成は、ディスエーブルされる。
【０１０２】
また、前記第１コンポーネント及び前記第２コンポーネントは、固定された幅を有する。
【０１０３】
また、前記第１入力信号は、サンプリングされた信号の第１サンプルであり、前記第２入力信号は、前記サンプリングされた信号の第２サンプルでもある。
【０１０４】
また、前記システムは、プロセッサでもある。
【０１０５】
また、前記プロセッサは、ＧＰＵであり、前記第１入力信号は、第１テクセルを含み、前記第２入力信号は、第２テクセルを含む。
【０１０６】
本実施形態において、ある部分が他の部分と連結されているとするとき、それは、直接に連結されている場合だけではなく、その中間に、他の素子を挟んで間接的に連結されている場合も含む。また、ある部分がある構成要素を含むとするとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。
【０１０７】
本実施形態で使用される「構成される」または「含む」というような用語は、さまざまな構成要素、あるいはさまざまな段階を必ずしもいずれも含むと解釈されるものではなく、そのうち一部構成要素または一部段階は、含まれないこともあり、またはさらなる構成要素または段階をさらに含んでもよいと解釈されなければならない。
【０１０８】
本実施形態で使用される「第１」または「第２」のように序数を含む用語は、多様な構成要素の説明に使用されるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、１つの構成要素を他の構成要素から区別する目的のみに使用される。
【０１０９】
本実施形態において、「少なくとも一つ」、「一つ以上の」及び「及び／または」の用語は、特別に他の言及がない限り、開放的な（open-ended）表現である。例えば、「Ａ、Ｂ及びＣのうち少なくとも一つ」、「一つ以上のＡ、Ｂ及びＣ」、「Ａ、Ｂ及び／またはＣ」の表現は、Ａだけ、Ｂだけ、Ｃだけ、Ａ及びＢ共に、Ａ及びＣ、Ｂ及びＣ、またはＡ、Ｂ及びＣを意味する。
【０１１０】
本実施形態において、「複数の（plurality）」用語は、２以上を意味する。
【０１１１】
本実施形態において、「プロセッサ」の用語は、プログラムコードに含まれた命令を実行する少なくとも１つのハードウェア回路を意味する。ハードウェア回路は、集積回路（ＩＣ）でもある。プロセッサの例としては、ＣＰＵ、アレイプロセッサ、ベクトルプロセッサ、ＤＳＰ、ＦＰＧＡ（field-programmable  gate  array）、ＰＬＡ（programmable  logic  array）、ＡＳＩＣ（application  specific  integrated  circuit）、プログラマブルロジック回路網（programmable  logic  circuitry）、コントローラ、ＧＰＵなどを含んでもよいが、それらに制限されるものではない。
【０１１２】
一方、前述の本発明の実施形態は、コンピュータで実行されるプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を利用して、前記プログラムを動作させる汎用デジタルコンピュータで具現される。また、前述の本発明の実施形態で使用されたデータの構造は、コンピュータで読み取り可能な記録媒体にさまざまな手段を介して記録される。前記コンピュータで読み取り可能な記録媒体は、マグネチック記録媒体（例えば、ＲＯＭ（read  only  memory）、フロッピー（登録商標）ディスク、ハードディスクなど）、光学的判読媒体（例えば、ＣＤ（compact  disc）−ＲＯＭ、ＤＶＤ（digital  versatile  disc）など）のような記録媒体を含む。
【０１１３】
以上、本発明について、その望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者であるならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態に具現されるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。本発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、本発明に含まれたものであると解釈されなければならないのである。
【産業上の利用可能性】
【０１１４】
本発明の共通コンポーネントを有する信号を処理する方法は、例えば、グラフィックス関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１１５】
１００  アーキテクチャ
１０２  プロセッサ
１０５  システム
１１０  メモリ要素
１１５  システムバス
１２５  バルクストレージ・デバイス
１３５  ディスプレイ・デバイス
１４０  ポインティング・デバイス
１４５  ネットワーク・アダプタ
１５０  オペレーティングシステム
１５５  アプリケーション
２０５，５０５  相関検出回路
２１０，５１５  コンポーネント処理回路
２１５，５２０  演算回路
２２０，５２５  出力選択回路
５１０  マスク回路
６０４  リーディング１ビット検出回路
６０６  共通コンポーネント抽出回路
６０８  非共通コンポーネント抽出回路
６１２  結合回路
７１２  部分積加算器回路
【図１】
2016012350.tif 000004
【図２】
2016012350.tif 000005
【図３】
2016012350.tif 000006
【図４】
2016012350.tif 000007
【図５】
2016012350.tif 000008
【図６】
2016012350.tif 000009
【図７】
2016012350.tif 000010
【図８】
2016012350.tif 000011